41: l_chk_msi_attr_rec c_chk_msi_attr%ROWTYPE;
42:
43: BEGIN
44:
45: x_return_status := fnd_api.g_ret_sts_success;
46:
47: /******************* START Item validation ********************/
48:
49: /* Check item attributes in Mtl_system_items Table */
57: END IF;
58:
59: x_lot_cont := FALSE ;
60: x_child_lot_cont := FALSE ;
61: x_return_status := fnd_api.g_ret_sts_error;
62:
63: fnd_message.set_name('INV', 'INV_INVALID_ITEM');
64: fnd_msg_pub.ADD;
65: RAISE fnd_api.g_exc_error;
61: x_return_status := fnd_api.g_ret_sts_error;
62:
63: fnd_message.set_name('INV', 'INV_INVALID_ITEM');
64: fnd_msg_pub.ADD;
65: RAISE fnd_api.g_exc_error;
66: ELSE
67: CLOSE c_chk_msi_attr;
68:
69: /* If not lot controlled then error out */
97:
98: /******************* End Item validation ********************/
99: EXCEPTION
100: WHEN NO_DATA_FOUND THEN
101: x_return_status := fnd_api.g_ret_sts_error;
102: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
103: if( x_msg_count > 1 ) then
104: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
105: end if;
98: /******************* End Item validation ********************/
99: EXCEPTION
100: WHEN NO_DATA_FOUND THEN
101: x_return_status := fnd_api.g_ret_sts_error;
102: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
103: if( x_msg_count > 1 ) then
104: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
105: end if;
106: print_debug('In Check_Item_Attributes, No data found ' || SQLERRM, 9);
100: WHEN NO_DATA_FOUND THEN
101: x_return_status := fnd_api.g_ret_sts_error;
102: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
103: if( x_msg_count > 1 ) then
104: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
105: end if;
106: print_debug('In Check_Item_Attributes, No data found ' || SQLERRM, 9);
107: WHEN fnd_api.g_exc_error THEN
108: x_return_status := fnd_api.g_ret_sts_error;
103: if( x_msg_count > 1 ) then
104: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
105: end if;
106: print_debug('In Check_Item_Attributes, No data found ' || SQLERRM, 9);
107: WHEN fnd_api.g_exc_error THEN
108: x_return_status := fnd_api.g_ret_sts_error;
109: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
110: if( x_msg_count > 1 ) then
111: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
104: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
105: end if;
106: print_debug('In Check_Item_Attributes, No data found ' || SQLERRM, 9);
107: WHEN fnd_api.g_exc_error THEN
108: x_return_status := fnd_api.g_ret_sts_error;
109: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
110: if( x_msg_count > 1 ) then
111: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
112: end if;
105: end if;
106: print_debug('In Check_Item_Attributes, No data found ' || SQLERRM, 9);
107: WHEN fnd_api.g_exc_error THEN
108: x_return_status := fnd_api.g_ret_sts_error;
109: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
110: if( x_msg_count > 1 ) then
111: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
112: end if;
113: print_debug('In Check_Item_Attributes, g_exc_error ' || SQLERRM, 9);
107: WHEN fnd_api.g_exc_error THEN
108: x_return_status := fnd_api.g_ret_sts_error;
109: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
110: if( x_msg_count > 1 ) then
111: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
112: end if;
113: print_debug('In Check_Item_Attributes, g_exc_error ' || SQLERRM, 9);
114: WHEN fnd_api.g_exc_unexpected_error THEN
115: x_return_status := fnd_api.g_ret_sts_unexp_error;
110: if( x_msg_count > 1 ) then
111: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
112: end if;
113: print_debug('In Check_Item_Attributes, g_exc_error ' || SQLERRM, 9);
114: WHEN fnd_api.g_exc_unexpected_error THEN
115: x_return_status := fnd_api.g_ret_sts_unexp_error;
116: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
117: if( x_msg_count > 1 ) then
118: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
111: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
112: end if;
113: print_debug('In Check_Item_Attributes, g_exc_error ' || SQLERRM, 9);
114: WHEN fnd_api.g_exc_unexpected_error THEN
115: x_return_status := fnd_api.g_ret_sts_unexp_error;
116: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
117: if( x_msg_count > 1 ) then
118: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
119: end if;
112: end if;
113: print_debug('In Check_Item_Attributes, g_exc_error ' || SQLERRM, 9);
114: WHEN fnd_api.g_exc_unexpected_error THEN
115: x_return_status := fnd_api.g_ret_sts_unexp_error;
116: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
117: if( x_msg_count > 1 ) then
118: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
119: end if;
120: print_debug('In Check_Item_Attributes, g_exc_unexpected_error ' || SQLERRM, 9);
114: WHEN fnd_api.g_exc_unexpected_error THEN
115: x_return_status := fnd_api.g_ret_sts_unexp_error;
116: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
117: if( x_msg_count > 1 ) then
118: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
119: end if;
120: print_debug('In Check_Item_Attributes, g_exc_unexpected_error ' || SQLERRM, 9);
121: WHEN OTHERS THEN
122: x_return_status := fnd_api.g_ret_sts_unexp_error;
118: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
119: end if;
120: print_debug('In Check_Item_Attributes, g_exc_unexpected_error ' || SQLERRM, 9);
121: WHEN OTHERS THEN
122: x_return_status := fnd_api.g_ret_sts_unexp_error;
123: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
124: if( x_msg_count > 1 ) then
125: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
126: end if;
119: end if;
120: print_debug('In Check_Item_Attributes, g_exc_unexpected_error ' || SQLERRM, 9);
121: WHEN OTHERS THEN
122: x_return_status := fnd_api.g_ret_sts_unexp_error;
123: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
124: if( x_msg_count > 1 ) then
125: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
126: end if;
127: print_debug('In Check_Item_Attributes, Others ' || SQLERRM, 9);
121: WHEN OTHERS THEN
122: x_return_status := fnd_api.g_ret_sts_unexp_error;
123: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
124: if( x_msg_count > 1 ) then
125: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
126: end if;
127: print_debug('In Check_Item_Attributes, Others ' || SQLERRM, 9);
128:
129: END Check_Item_Attributes;
224: SAVEPOINT inv_pop_lot ;
225:
226: l_source := p_source ;
227: l_api_version := 1.0;
228: l_init_msg_list := fnd_api.g_false;
229: l_commit := fnd_api.g_false;
230:
231:
232: /******************* START Item validation ********************/
225:
226: l_source := p_source ;
227: l_api_version := 1.0;
228: l_init_msg_list := fnd_api.g_false;
229: l_commit := fnd_api.g_false;
230:
231:
232: /******************* START Item validation ********************/
233:
248: IF g_debug = 1 THEN
249: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
250: END IF;
251:
252: IF l_return_status = fnd_api.g_ret_sts_error THEN
253: IF g_debug = 1 THEN
254: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
255: END IF;
256: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
255: END IF;
256: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
257: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
258: FND_MSG_PUB.ADD;
259: RAISE fnd_api.g_exc_error;
260: END IF;
261:
262: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
263: IF g_debug = 1 THEN
258: FND_MSG_PUB.ADD;
259: RAISE fnd_api.g_exc_error;
260: END IF;
261:
262: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
263: IF g_debug = 1 THEN
264: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
265: END IF;
266: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
265: END IF;
266: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
267: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
268: fnd_msg_pub.ADD;
269: RAISE fnd_api.g_exc_unexpected_error;
270: END IF;
271:
272: IF (l_lot_cont = FALSE) THEN
273: IF g_debug = 1 THEN
274: print_debug(' Item is not lot controlled ', 9);
275: END IF;
276: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
277: fnd_msg_pub.ADD;
278: x_return_status := fnd_api.g_ret_sts_error;
279: RAISE fnd_api.g_exc_error;
280: END IF ;
281:
282: IF (l_child_lot_cont = FALSE AND p_lot_rec.parent_lot_number IS NOT NULL) THEN
275: END IF;
276: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
277: fnd_msg_pub.ADD;
278: x_return_status := fnd_api.g_ret_sts_error;
279: RAISE fnd_api.g_exc_error;
280: END IF ;
281:
282: IF (l_child_lot_cont = FALSE AND p_lot_rec.parent_lot_number IS NOT NULL) THEN
283:
285: print_debug(' Item is not Child lot controlled ', 9);
286: END IF;
287: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
288: fnd_msg_pub.ADD;
289: x_return_status := fnd_api.g_ret_sts_error;
290: RAISE fnd_api.g_exc_error;
291: END IF ;
292: /******************* End Item validation ********************/
293:
286: END IF;
287: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
288: fnd_msg_pub.ADD;
289: x_return_status := fnd_api.g_ret_sts_error;
290: RAISE fnd_api.g_exc_error;
291: END IF ;
292: /******************* End Item validation ********************/
293:
294:
464:
465: IF g_debug = 1 THEN
466: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr return ' || l_return_status, 9);
467: END IF;
468: IF l_return_status = fnd_api.g_ret_sts_error THEN
469: IF g_debug = 1 THEN
470: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a user defined exception', 9);
471: END IF;
472: RAISE fnd_api.g_exc_error;
468: IF l_return_status = fnd_api.g_ret_sts_error THEN
469: IF g_debug = 1 THEN
470: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a user defined exception', 9);
471: END IF;
472: RAISE fnd_api.g_exc_error;
473: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
474: IF g_debug = 1 THEN
475: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a Unexpected exception', 9);
476: END IF;
469: IF g_debug = 1 THEN
470: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a user defined exception', 9);
471: END IF;
472: RAISE fnd_api.g_exc_error;
473: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
474: IF g_debug = 1 THEN
475: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a Unexpected exception', 9);
476: END IF;
477: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
476: END IF;
477: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
478: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_Lot_Api_Pkg.Set_Msi_Default_Attr');
479: FND_MSG_PUB.ADD;
480: RAISE fnd_api.g_exc_unexpected_error;
481: END IF;
482: END IF;
483:
484: END IF ;
488: Inv_lot_api_pub.Validate_Child_Lot (
489: p_api_version => l_api_version
490: , p_init_msg_list => l_init_msg_list
491: , p_commit => l_commit
492: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
493: , p_organization_id => x_child_lot_rec.organization_id
494: , p_inventory_item_id => x_child_lot_rec.inventory_item_id
495: , p_parent_lot_number => x_child_lot_rec.parent_lot_number
496: , p_child_lot_number => x_child_lot_rec.lot_number
504:
505: IF g_debug = 1 THEN
506: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT return ' || l_return_status, 9);
507: END IF;
508: IF l_return_status = fnd_api.g_ret_sts_error THEN
509: IF g_debug = 1 THEN
510: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT has failed with a user defined exception', 9);
511: END IF;
512: RAISE fnd_api.g_exc_error;
508: IF l_return_status = fnd_api.g_ret_sts_error THEN
509: IF g_debug = 1 THEN
510: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT has failed with a user defined exception', 9);
511: END IF;
512: RAISE fnd_api.g_exc_error;
513: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
514: IF g_debug = 1 THEN
515: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT has failed with a Unexpected exception', 9);
516: END IF;
509: IF g_debug = 1 THEN
510: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT has failed with a user defined exception', 9);
511: END IF;
512: RAISE fnd_api.g_exc_error;
513: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
514: IF g_debug = 1 THEN
515: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT has failed with a Unexpected exception', 9);
516: END IF;
517: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
516: END IF;
517: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
518: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pub.VALIDATE_CHILD_LOT');
519: FND_MSG_PUB.ADD;
520: RAISE fnd_api.g_exc_unexpected_error;
521: END IF;
522: END IF ; --parent lot check
523: /* Validate parent lot record x_parent_lot_rec by calling VALIDATE_LOT_ATTRIBUTES API */
524: INV_LOT_API_PKG.Validate_Lot_Attributes (
530: ) ;
531: IF g_debug = 1 THEN
532: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES return ' || l_return_status, 9);
533: END IF;
534: IF l_return_status = fnd_api.g_ret_sts_error THEN
535: IF g_debug = 1 THEN
536: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a user defined exception', 9);
537: END IF;
538: RAISE fnd_api.g_exc_error;
534: IF l_return_status = fnd_api.g_ret_sts_error THEN
535: IF g_debug = 1 THEN
536: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a user defined exception', 9);
537: END IF;
538: RAISE fnd_api.g_exc_error;
539: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
540: IF g_debug = 1 THEN
541: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a Unexpected exception', 9);
542: END IF;
535: IF g_debug = 1 THEN
536: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a user defined exception', 9);
537: END IF;
538: RAISE fnd_api.g_exc_error;
539: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
540: IF g_debug = 1 THEN
541: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a Unexpected exception', 9);
542: END IF;
543: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
542: END IF;
543: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
544: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES');
545: FND_MSG_PUB.ADD;
546: RAISE fnd_api.g_exc_unexpected_error;
547: END IF;
548:
549:
550: print_debug('Program INV_LOT_API_PKG.Populate_Lot_Records Ends ' , 9);
550: print_debug('Program INV_LOT_API_PKG.Populate_Lot_Records Ends ' , 9);
551:
552: EXCEPTION
553: WHEN NO_DATA_FOUND THEN
554: x_return_status := fnd_api.g_ret_sts_error;
555: ROLLBACK TO inv_pop_lot ;
556: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
557: if( x_msg_count > 1 ) then
558: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
552: EXCEPTION
553: WHEN NO_DATA_FOUND THEN
554: x_return_status := fnd_api.g_ret_sts_error;
555: ROLLBACK TO inv_pop_lot ;
556: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
557: if( x_msg_count > 1 ) then
558: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
559: end if;
560: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
554: x_return_status := fnd_api.g_ret_sts_error;
555: ROLLBACK TO inv_pop_lot ;
556: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
557: if( x_msg_count > 1 ) then
558: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
559: end if;
560: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
561: WHEN fnd_api.g_exc_error THEN
562: x_return_status := fnd_api.g_ret_sts_error;
557: if( x_msg_count > 1 ) then
558: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
559: end if;
560: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
561: WHEN fnd_api.g_exc_error THEN
562: x_return_status := fnd_api.g_ret_sts_error;
563: ROLLBACK TO inv_pop_lot ;
564: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
565: if( x_msg_count > 1 ) then
558: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
559: end if;
560: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
561: WHEN fnd_api.g_exc_error THEN
562: x_return_status := fnd_api.g_ret_sts_error;
563: ROLLBACK TO inv_pop_lot ;
564: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
565: if( x_msg_count > 1 ) then
566: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
560: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
561: WHEN fnd_api.g_exc_error THEN
562: x_return_status := fnd_api.g_ret_sts_error;
563: ROLLBACK TO inv_pop_lot ;
564: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
565: if( x_msg_count > 1 ) then
566: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
567: end if;
568: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
562: x_return_status := fnd_api.g_ret_sts_error;
563: ROLLBACK TO inv_pop_lot ;
564: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
565: if( x_msg_count > 1 ) then
566: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
567: end if;
568: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
569: WHEN fnd_api.g_exc_unexpected_error THEN
570: x_return_status := fnd_api.g_ret_sts_unexp_error;
565: if( x_msg_count > 1 ) then
566: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
567: end if;
568: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
569: WHEN fnd_api.g_exc_unexpected_error THEN
570: x_return_status := fnd_api.g_ret_sts_unexp_error;
571: ROLLBACK TO inv_pop_lot ;
572: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
573: if( x_msg_count > 1 ) then
566: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
567: end if;
568: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
569: WHEN fnd_api.g_exc_unexpected_error THEN
570: x_return_status := fnd_api.g_ret_sts_unexp_error;
571: ROLLBACK TO inv_pop_lot ;
572: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
573: if( x_msg_count > 1 ) then
574: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
568: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
569: WHEN fnd_api.g_exc_unexpected_error THEN
570: x_return_status := fnd_api.g_ret_sts_unexp_error;
571: ROLLBACK TO inv_pop_lot ;
572: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
573: if( x_msg_count > 1 ) then
574: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
575: end if;
576: print_debug('In g_exc_unexpected_error Populate_Lot_Records ' || SQLERRM, 9);
570: x_return_status := fnd_api.g_ret_sts_unexp_error;
571: ROLLBACK TO inv_pop_lot ;
572: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
573: if( x_msg_count > 1 ) then
574: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
575: end if;
576: print_debug('In g_exc_unexpected_error Populate_Lot_Records ' || SQLERRM, 9);
577: WHEN OTHERS THEN
578: x_return_status := fnd_api.g_ret_sts_unexp_error;
574: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
575: end if;
576: print_debug('In g_exc_unexpected_error Populate_Lot_Records ' || SQLERRM, 9);
577: WHEN OTHERS THEN
578: x_return_status := fnd_api.g_ret_sts_unexp_error;
579: ROLLBACK TO inv_pop_lot ;
580: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
581: if( x_msg_count > 1 ) then
582: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
576: print_debug('In g_exc_unexpected_error Populate_Lot_Records ' || SQLERRM, 9);
577: WHEN OTHERS THEN
578: x_return_status := fnd_api.g_ret_sts_unexp_error;
579: ROLLBACK TO inv_pop_lot ;
580: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
581: if( x_msg_count > 1 ) then
582: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
583: end if;
584: print_debug('In others Populate_Lot_Records ' || SQLERRM, 9);
578: x_return_status := fnd_api.g_ret_sts_unexp_error;
579: ROLLBACK TO inv_pop_lot ;
580: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
581: if( x_msg_count > 1 ) then
582: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
583: end if;
584: print_debug('In others Populate_Lot_Records ' || SQLERRM, 9);
585:
586: END Populate_Lot_Records;
691: IF g_debug = 1 THEN
692: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
693: END IF;
694:
695: IF l_return_status = fnd_api.g_ret_sts_error THEN
696: IF g_debug = 1 THEN
697: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
698: END IF;
699: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
698: END IF;
699: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
700: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
701: FND_MSG_PUB.ADD;
702: RAISE fnd_api.g_exc_error;
703: END IF;
704:
705: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
706: IF g_debug = 1 THEN
701: FND_MSG_PUB.ADD;
702: RAISE fnd_api.g_exc_error;
703: END IF;
704:
705: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
706: IF g_debug = 1 THEN
707: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
708: END IF;
709: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
708: END IF;
709: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
710: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
711: fnd_msg_pub.ADD;
712: RAISE fnd_api.g_exc_unexpected_error;
713: END IF;
714:
715: IF (l_lot_cont = FALSE) THEN
716: IF g_debug = 1 THEN
717: print_debug(' Item is not lot controlled ', 9);
718: END IF;
719: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
720: fnd_msg_pub.ADD;
721: x_return_status := fnd_api.g_ret_sts_error;
722: RAISE fnd_api.g_exc_error;
723: END IF ;
724:
725: IF (l_child_lot_cont = FALSE AND p_lot_rec.parent_lot_number IS NOT NULL) THEN
718: END IF;
719: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
720: fnd_msg_pub.ADD;
721: x_return_status := fnd_api.g_ret_sts_error;
722: RAISE fnd_api.g_exc_error;
723: END IF ;
724:
725: IF (l_child_lot_cont = FALSE AND p_lot_rec.parent_lot_number IS NOT NULL) THEN
726:
728: print_debug(' Item is not Child lot controlled ', 9);
729: END IF;
730: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
731: fnd_msg_pub.ADD;
732: x_return_status := fnd_api.g_ret_sts_error;
733: RAISE fnd_api.g_exc_error;
734: END IF ;
735:
736: /******************* End Item validation ********************/
729: END IF;
730: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
731: fnd_msg_pub.ADD;
732: x_return_status := fnd_api.g_ret_sts_error;
733: RAISE fnd_api.g_exc_error;
734: END IF ;
735:
736: /******************* End Item validation ********************/
737:
821: ,p_table => 1
822: ,x_lot_expiration_date => l_lot_expiration_date
823: ,x_return_status => l_return_status);
824:
825: IF l_return_status <> fnd_api.g_ret_sts_success THEN
826: IF g_debug = 1 THEN
827: print_debug('Program inv_calculate_exp_date.get_lot_expiration_date has failed with a Unexpected exception', 9);
828: END IF;
829: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
828: END IF;
829: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
830: FND_MESSAGE.SET_TOKEN('PROG_NAME','inv_calculate_exp_date.get_lot_expiration_date');
831: fnd_msg_pub.ADD;
832: RAISE fnd_api.g_exc_unexpected_error;
833: END IF;
834: IF g_debug = 1 THEN
835: print_debug('l_lot_expiration_date (1) '||l_lot_expiration_date, 9);
836: END IF;
854: ,p_table => 2
855: ,x_lot_expiration_date => l_lot_expiration_date
856: ,x_return_status => l_return_status);
857:
858: IF l_return_status <> fnd_api.g_ret_sts_success THEN
859: IF g_debug = 1 THEN
860: print_debug('Program inv_calculate_exp_date.get_lot_expiration_date has failed with a Unexpected exception', 9);
861: END IF;
862: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
861: END IF;
862: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
863: FND_MESSAGE.SET_TOKEN('PROG_NAME','inv_calculate_exp_date.get_lot_expiration_date');
864: fnd_msg_pub.ADD;
865: RAISE fnd_api.g_exc_unexpected_error;
866: END IF;
867: IF g_debug = 1 THEN
868: print_debug('l_lot_expiration_date (2) '||l_lot_expiration_date, 9);
869: END IF;
921: --end10257769
922:
923: EXCEPTION
924: WHEN NO_DATA_FOUND THEN
925: x_return_status := fnd_api.g_ret_sts_error;
926: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
927: if( x_msg_count > 1 ) then
928: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
929: end if;
922:
923: EXCEPTION
924: WHEN NO_DATA_FOUND THEN
925: x_return_status := fnd_api.g_ret_sts_error;
926: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
927: if( x_msg_count > 1 ) then
928: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
929: end if;
930: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
924: WHEN NO_DATA_FOUND THEN
925: x_return_status := fnd_api.g_ret_sts_error;
926: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
927: if( x_msg_count > 1 ) then
928: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
929: end if;
930: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
931: WHEN fnd_api.g_exc_error THEN
932: x_return_status := fnd_api.g_ret_sts_error;
927: if( x_msg_count > 1 ) then
928: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
929: end if;
930: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
931: WHEN fnd_api.g_exc_error THEN
932: x_return_status := fnd_api.g_ret_sts_error;
933: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
934: if( x_msg_count > 1 ) then
935: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
928: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
929: end if;
930: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
931: WHEN fnd_api.g_exc_error THEN
932: x_return_status := fnd_api.g_ret_sts_error;
933: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
934: if( x_msg_count > 1 ) then
935: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
936: end if;
929: end if;
930: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
931: WHEN fnd_api.g_exc_error THEN
932: x_return_status := fnd_api.g_ret_sts_error;
933: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
934: if( x_msg_count > 1 ) then
935: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
936: end if;
937: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
931: WHEN fnd_api.g_exc_error THEN
932: x_return_status := fnd_api.g_ret_sts_error;
933: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
934: if( x_msg_count > 1 ) then
935: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
936: end if;
937: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
938: WHEN fnd_api.g_exc_unexpected_error THEN
939: x_return_status := fnd_api.g_ret_sts_unexp_error;
934: if( x_msg_count > 1 ) then
935: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
936: end if;
937: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
938: WHEN fnd_api.g_exc_unexpected_error THEN
939: x_return_status := fnd_api.g_ret_sts_unexp_error;
940: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
941: if( x_msg_count > 1 ) then
942: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
935: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
936: end if;
937: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
938: WHEN fnd_api.g_exc_unexpected_error THEN
939: x_return_status := fnd_api.g_ret_sts_unexp_error;
940: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
941: if( x_msg_count > 1 ) then
942: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
943: end if;
936: end if;
937: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
938: WHEN fnd_api.g_exc_unexpected_error THEN
939: x_return_status := fnd_api.g_ret_sts_unexp_error;
940: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
941: if( x_msg_count > 1 ) then
942: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
943: end if;
944: print_debug('In Set_Msi_Default_Attr, g_exc_unexpected_error ' || SQLERRM, 9);
938: WHEN fnd_api.g_exc_unexpected_error THEN
939: x_return_status := fnd_api.g_ret_sts_unexp_error;
940: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
941: if( x_msg_count > 1 ) then
942: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
943: end if;
944: print_debug('In Set_Msi_Default_Attr, g_exc_unexpected_error ' || SQLERRM, 9);
945: WHEN OTHERS THEN
946: x_return_status := fnd_api.g_ret_sts_unexp_error;
942: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
943: end if;
944: print_debug('In Set_Msi_Default_Attr, g_exc_unexpected_error ' || SQLERRM, 9);
945: WHEN OTHERS THEN
946: x_return_status := fnd_api.g_ret_sts_unexp_error;
947: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
948: if( x_msg_count > 1 ) then
949: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
950: end if;
943: end if;
944: print_debug('In Set_Msi_Default_Attr, g_exc_unexpected_error ' || SQLERRM, 9);
945: WHEN OTHERS THEN
946: x_return_status := fnd_api.g_ret_sts_unexp_error;
947: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
948: if( x_msg_count > 1 ) then
949: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
950: end if;
951: print_debug('In Set_Msi_Default_Attr, Others ' || SQLERRM, 9);
945: WHEN OTHERS THEN
946: x_return_status := fnd_api.g_ret_sts_unexp_error;
947: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
948: if( x_msg_count > 1 ) then
949: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
950: end if;
951: print_debug('In Set_Msi_Default_Attr, Others ' || SQLERRM, 9);
952:
953: END Set_Msi_Default_Attr ;
1039: l_def_lot_status NUMBER ;
1040:
1041: BEGIN
1042: SAVEPOINT inv_val_lot;
1043: x_return_status := fnd_api.g_ret_sts_success;
1044:
1045: p_inventory_item_id := x_lot_rec.inventory_item_id ;
1046: p_organization_id := x_lot_rec.organization_id ;
1047: p_lot_number := x_lot_rec.lot_number ;
1194: IF g_debug = 1 THEN
1195: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
1196: END IF;
1197:
1198: IF l_return_status = fnd_api.g_ret_sts_error THEN
1199: IF g_debug = 1 THEN
1200: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
1201: END IF;
1202: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
1201: END IF;
1202: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
1203: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
1204: FND_MSG_PUB.ADD;
1205: RAISE fnd_api.g_exc_error;
1206: END IF;
1207:
1208: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1209: IF g_debug = 1 THEN
1204: FND_MSG_PUB.ADD;
1205: RAISE fnd_api.g_exc_error;
1206: END IF;
1207:
1208: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1209: IF g_debug = 1 THEN
1210: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
1211: END IF;
1212: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1211: END IF;
1212: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1213: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
1214: fnd_msg_pub.ADD;
1215: RAISE fnd_api.g_exc_unexpected_error;
1216: END IF;
1217:
1218: IF (l_lot_cont = FALSE) THEN
1219: IF g_debug = 1 THEN
1220: print_debug(' Item is not lot controlled ', 9);
1221: END IF;
1222: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
1223: fnd_msg_pub.ADD;
1224: x_return_status := fnd_api.g_ret_sts_error;
1225: RAISE fnd_api.g_exc_error;
1226: END IF ;
1227:
1228: IF (l_child_lot_cont = FALSE AND p_parent_lot_number IS NOT NULL) THEN
1221: END IF;
1222: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
1223: fnd_msg_pub.ADD;
1224: x_return_status := fnd_api.g_ret_sts_error;
1225: RAISE fnd_api.g_exc_error;
1226: END IF ;
1227:
1228: IF (l_child_lot_cont = FALSE AND p_parent_lot_number IS NOT NULL) THEN
1229:
1231: print_debug(' Item is not Child lot controlled ', 9);
1232: END IF;
1233: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
1234: fnd_msg_pub.ADD;
1235: x_return_status := fnd_api.g_ret_sts_error;
1236: RAISE fnd_api.g_exc_error;
1237: END IF ;
1238: /******************* End Item validation ********************/
1239:
1232: END IF;
1233: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
1234: fnd_msg_pub.ADD;
1235: x_return_status := fnd_api.g_ret_sts_error;
1236: RAISE fnd_api.g_exc_error;
1237: END IF ;
1238: /******************* End Item validation ********************/
1239:
1240:
1290: fnd_msg_pub.ADD;
1291: IF g_debug = 1 THEN
1292: print_debug('Expiration will not be considered for shelf_life code of type ITEM_SHELF_LIFE_DAYS', 9);
1293: END IF;
1294: RAISE fnd_api.g_exc_error;
1295: END IF;
1296:
1297:
1298: ELSIF l_shelf_life_code = user_defined_exp_date THEN
1306:
1307: IF g_debug = 1 THEN
1308: print_debug('The value of expiration date is required ', 9);
1309: END IF;
1310: RAISE fnd_api.g_exc_error;
1311:
1312: ELSE
1313: l_expiration_date := p_expiration_date;
1314: END IF;
1342: IF p_lot_attribute_category IS NOT NULL AND
1343: (nvl(l_lot_attribute_category, p_lot_attribute_category) <> p_lot_attribute_category) THEN
1344: FND_MESSAGE.SET_NAME('INV','INV_WRONG_CONTEXT');
1345: FND_MSG_PUB.ADD;
1346: RAISE fnd_api.g_exc_error;
1347: END IF;
1348: END IF ;
1349:
1350: BEGIN
1421:
1422: IF g_debug = 1 THEN
1423: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM return ' || l_return_status, 9);
1424: END IF;
1425: IF l_return_status = fnd_api.g_ret_sts_error THEN
1426: IF g_debug = 1 THEN
1427: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a user defined exception', 9);
1428: END IF;
1429: RAISE fnd_api.g_exc_error;
1425: IF l_return_status = fnd_api.g_ret_sts_error THEN
1426: IF g_debug = 1 THEN
1427: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a user defined exception', 9);
1428: END IF;
1429: RAISE fnd_api.g_exc_error;
1430: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1431: IF g_debug = 1 THEN
1432: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a Unexpected exception', 9);
1433: END IF;
1426: IF g_debug = 1 THEN
1427: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a user defined exception', 9);
1428: END IF;
1429: RAISE fnd_api.g_exc_error;
1430: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1431: IF g_debug = 1 THEN
1432: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a Unexpected exception', 9);
1433: END IF;
1434: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1433: END IF;
1434: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1435: FND_MESSAGE.SET_TOKEN('PROG_NAME','VALIDATE_LOT_ATTR_IN_PARAM');
1436: fnd_msg_pub.ADD;
1437: RAISE fnd_api.g_exc_unexpected_error;
1438: END IF;
1439:
1440:
1441: Validate_Additional_Attr(
1460:
1461: IF g_debug = 1 THEN
1462: print_debug('Program VALIDATE_ADDITIONAL_ATTR return ' || l_return_status, 9);
1463: END IF;
1464: IF l_return_status = fnd_api.g_ret_sts_error THEN
1465: IF g_debug = 1 THEN
1466: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a user defined exception', 9);
1467: END IF;
1468: RAISE fnd_api.g_exc_error;
1464: IF l_return_status = fnd_api.g_ret_sts_error THEN
1465: IF g_debug = 1 THEN
1466: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a user defined exception', 9);
1467: END IF;
1468: RAISE fnd_api.g_exc_error;
1469: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1470: IF g_debug = 1 THEN
1471: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a Unexpected exception', 9);
1472: END IF;
1465: IF g_debug = 1 THEN
1466: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a user defined exception', 9);
1467: END IF;
1468: RAISE fnd_api.g_exc_error;
1469: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1470: IF g_debug = 1 THEN
1471: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a Unexpected exception', 9);
1472: END IF;
1473: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1472: END IF;
1473: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1474: FND_MESSAGE.SET_TOKEN('PROG_NAME','VALIDATE_ADDITIONAL_ATTR');
1475: fnd_msg_pub.ADD;
1476: RAISE fnd_api.g_exc_unexpected_error;
1477: END IF;
1478:
1479:
1480: /* Fetch data from the input tabels and fill the appropriate records*/
1626: print_debug('End of the program Validate_Lot_Attributes. Program has completed successfully ', 9);
1627:
1628: EXCEPTION
1629: WHEN NO_DATA_FOUND THEN
1630: x_return_status := fnd_api.g_ret_sts_error;
1631: ROLLBACK TO inv_val_lot ;
1632: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1633: if( x_msg_count > 1 ) then
1634: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1628: EXCEPTION
1629: WHEN NO_DATA_FOUND THEN
1630: x_return_status := fnd_api.g_ret_sts_error;
1631: ROLLBACK TO inv_val_lot ;
1632: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1633: if( x_msg_count > 1 ) then
1634: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1635: end if;
1636: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1630: x_return_status := fnd_api.g_ret_sts_error;
1631: ROLLBACK TO inv_val_lot ;
1632: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1633: if( x_msg_count > 1 ) then
1634: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1635: end if;
1636: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1637: WHEN fnd_api.g_exc_error THEN
1638: x_return_status := fnd_api.g_ret_sts_error;
1633: if( x_msg_count > 1 ) then
1634: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1635: end if;
1636: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1637: WHEN fnd_api.g_exc_error THEN
1638: x_return_status := fnd_api.g_ret_sts_error;
1639: ROLLBACK TO inv_val_lot ;
1640: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1641: if( x_msg_count > 1 ) then
1634: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1635: end if;
1636: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1637: WHEN fnd_api.g_exc_error THEN
1638: x_return_status := fnd_api.g_ret_sts_error;
1639: ROLLBACK TO inv_val_lot ;
1640: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1641: if( x_msg_count > 1 ) then
1642: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1636: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1637: WHEN fnd_api.g_exc_error THEN
1638: x_return_status := fnd_api.g_ret_sts_error;
1639: ROLLBACK TO inv_val_lot ;
1640: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1641: if( x_msg_count > 1 ) then
1642: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1643: end if;
1644: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1638: x_return_status := fnd_api.g_ret_sts_error;
1639: ROLLBACK TO inv_val_lot ;
1640: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1641: if( x_msg_count > 1 ) then
1642: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1643: end if;
1644: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1645: WHEN fnd_api.g_exc_unexpected_error THEN
1646: x_return_status := fnd_api.g_ret_sts_unexp_error;
1641: if( x_msg_count > 1 ) then
1642: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1643: end if;
1644: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1645: WHEN fnd_api.g_exc_unexpected_error THEN
1646: x_return_status := fnd_api.g_ret_sts_unexp_error;
1647: ROLLBACK TO inv_val_lot ;
1648: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1649: if( x_msg_count > 1 ) then
1642: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1643: end if;
1644: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1645: WHEN fnd_api.g_exc_unexpected_error THEN
1646: x_return_status := fnd_api.g_ret_sts_unexp_error;
1647: ROLLBACK TO inv_val_lot ;
1648: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1649: if( x_msg_count > 1 ) then
1650: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1644: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1645: WHEN fnd_api.g_exc_unexpected_error THEN
1646: x_return_status := fnd_api.g_ret_sts_unexp_error;
1647: ROLLBACK TO inv_val_lot ;
1648: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1649: if( x_msg_count > 1 ) then
1650: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1651: end if;
1652: print_debug('In g_exc_unexpected_error Validate_Lot_Attributes ' || SQLERRM, 9);
1646: x_return_status := fnd_api.g_ret_sts_unexp_error;
1647: ROLLBACK TO inv_val_lot ;
1648: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1649: if( x_msg_count > 1 ) then
1650: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1651: end if;
1652: print_debug('In g_exc_unexpected_error Validate_Lot_Attributes ' || SQLERRM, 9);
1653: WHEN OTHERS THEN
1654: x_return_status := fnd_api.g_ret_sts_unexp_error;
1650: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1651: end if;
1652: print_debug('In g_exc_unexpected_error Validate_Lot_Attributes ' || SQLERRM, 9);
1653: WHEN OTHERS THEN
1654: x_return_status := fnd_api.g_ret_sts_unexp_error;
1655: ROLLBACK TO inv_val_lot ;
1656: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1657: if( x_msg_count > 1 ) then
1658: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1652: print_debug('In g_exc_unexpected_error Validate_Lot_Attributes ' || SQLERRM, 9);
1653: WHEN OTHERS THEN
1654: x_return_status := fnd_api.g_ret_sts_unexp_error;
1655: ROLLBACK TO inv_val_lot ;
1656: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1657: if( x_msg_count > 1 ) then
1658: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1659: end if;
1660: print_debug('In others Validate_Lot_Attributes ' || SQLERRM, 9);
1654: x_return_status := fnd_api.g_ret_sts_unexp_error;
1655: ROLLBACK TO inv_val_lot ;
1656: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1657: if( x_msg_count > 1 ) then
1658: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1659: end if;
1660: print_debug('In others Validate_Lot_Attributes ' || SQLERRM, 9);
1661:
1662: END Validate_Lot_Attributes ;
1712: l_lot_cont BOOLEAN ;
1713: l_child_lot_cont BOOLEAN ;
1714:
1715: BEGIN
1716: x_return_status := fnd_api.g_ret_sts_success;
1717: SAVEPOINT val_lot_attr_information;
1718:
1719: l_api_version := 1.0;
1720: l_init_msg_list := fnd_api.g_false;
1716: x_return_status := fnd_api.g_ret_sts_success;
1717: SAVEPOINT val_lot_attr_information;
1718:
1719: l_api_version := 1.0;
1720: l_init_msg_list := fnd_api.g_false;
1721: l_commit := fnd_api.g_false;
1722:
1723: /******************* START Item validation ********************/
1724:
1717: SAVEPOINT val_lot_attr_information;
1718:
1719: l_api_version := 1.0;
1720: l_init_msg_list := fnd_api.g_false;
1721: l_commit := fnd_api.g_false;
1722:
1723: /******************* START Item validation ********************/
1724:
1725: l_lot_cont := FALSE ;
1739: IF g_debug = 1 THEN
1740: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
1741: END IF;
1742:
1743: IF l_return_status = fnd_api.g_ret_sts_error THEN
1744: IF g_debug = 1 THEN
1745: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
1746: END IF;
1747: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
1746: END IF;
1747: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
1748: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
1749: FND_MSG_PUB.ADD;
1750: RAISE fnd_api.g_exc_error;
1751: END IF;
1752:
1753: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1754: IF g_debug = 1 THEN
1749: FND_MSG_PUB.ADD;
1750: RAISE fnd_api.g_exc_error;
1751: END IF;
1752:
1753: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1754: IF g_debug = 1 THEN
1755: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
1756: END IF;
1757: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1756: END IF;
1757: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1758: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
1759: fnd_msg_pub.ADD;
1760: RAISE fnd_api.g_exc_unexpected_error;
1761: END IF;
1762:
1763: IF (l_lot_cont = FALSE) THEN
1764: IF g_debug = 1 THEN
1765: print_debug(' Item is not lot controlled ', 9);
1766: END IF;
1767: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
1768: fnd_msg_pub.ADD;
1769: x_return_status := fnd_api.g_ret_sts_error;
1770: RAISE fnd_api.g_exc_error;
1771: END IF ;
1772:
1773: IF (l_child_lot_cont = FALSE AND p_parent_lot_number IS NOT NULL) THEN
1766: END IF;
1767: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
1768: fnd_msg_pub.ADD;
1769: x_return_status := fnd_api.g_ret_sts_error;
1770: RAISE fnd_api.g_exc_error;
1771: END IF ;
1772:
1773: IF (l_child_lot_cont = FALSE AND p_parent_lot_number IS NOT NULL) THEN
1774:
1776: print_debug(' Item is not Child lot controlled ', 9);
1777: END IF;
1778: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
1779: fnd_msg_pub.ADD;
1780: x_return_status := fnd_api.g_ret_sts_error;
1781: RAISE fnd_api.g_exc_error;
1782: END IF ;
1783: /******************* End Item validation ********************/
1784:
1777: END IF;
1778: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
1779: fnd_msg_pub.ADD;
1780: x_return_status := fnd_api.g_ret_sts_error;
1781: RAISE fnd_api.g_exc_error;
1782: END IF ;
1783: /******************* End Item validation ********************/
1784:
1785: /******************* START Parent lot validation logic ********************/
1809: IF g_debug = 1 THEN
1810: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT return ' || l_return_status, 9);
1811: END IF;
1812:
1813: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1814: IF g_debug = 1 THEN
1815: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT has failed with a Unexpected exception', 9);
1816: END IF;
1817: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1816: END IF;
1817: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1818: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pub.VALIDATE_CHILD_LOT');
1819: fnd_msg_pub.ADD;
1820: RAISE fnd_api.g_exc_unexpected_error;
1821: END IF;
1822:
1823: IF l_return_status = fnd_api.g_ret_sts_error THEN
1824: IF g_debug = 1 THEN
1819: fnd_msg_pub.ADD;
1820: RAISE fnd_api.g_exc_unexpected_error;
1821: END IF;
1822:
1823: IF l_return_status = fnd_api.g_ret_sts_error THEN
1824: IF g_debug = 1 THEN
1825: print_debug('Invalid child lot Naming convention', 9);
1826: END IF;
1827:
1826: END IF;
1827:
1828: fnd_message.set_name('INV', 'INV_INVALID_CHILD_LOT_EXP') ;
1829: fnd_msg_pub.ADD;
1830: RAISE fnd_api.g_exc_error;
1831: END IF;
1832: END IF ; -- parent_lot check
1833: ELSE
1834: CLOSE c_get_lot_record;
1840: END IF;
1841:
1842: fnd_message.set_name('INV', 'INV_INVALID_PARENT_LOT_EXP') ;
1843: fnd_msg_pub.ADD;
1844: RAISE fnd_api.g_exc_error;
1845: END IF;
1846: END IF;
1847: END IF; /* Check Lot */
1848: /******************* END Parent lot validation logic ********************/
1861: IF res = FALSE THEN
1862: IF g_debug = 1 THEN
1863: print_debug('Invalid Origination Type value '|| p_origination_type, 9);
1864: END IF;
1865: RAISE fnd_api.g_exc_error;
1866: END IF;
1867: IF g_debug = 1 THEN
1868: print_debug('Program Inv_Lot_Attr_Pub.validate_origination_type ' || l_return_status, 9);
1869: END IF;
1866: END IF;
1867: IF g_debug = 1 THEN
1868: print_debug('Program Inv_Lot_Attr_Pub.validate_origination_type ' || l_return_status, 9);
1869: END IF;
1870: IF l_return_status = fnd_api.g_ret_sts_error THEN
1871: IF g_debug = 1 THEN
1872: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a user defined exception', 9);
1873: END IF;
1874: RAISE fnd_api.g_exc_error;
1870: IF l_return_status = fnd_api.g_ret_sts_error THEN
1871: IF g_debug = 1 THEN
1872: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a user defined exception', 9);
1873: END IF;
1874: RAISE fnd_api.g_exc_error;
1875: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1876: IF g_debug = 1 THEN
1877: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a Unexpected exception', 9);
1878: END IF;
1871: IF g_debug = 1 THEN
1872: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a user defined exception', 9);
1873: END IF;
1874: RAISE fnd_api.g_exc_error;
1875: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1876: IF g_debug = 1 THEN
1877: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a Unexpected exception', 9);
1878: END IF;
1879: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1878: END IF;
1879: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1880: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
1881: FND_MSG_PUB.ADD;
1882: RAISE fnd_api.g_exc_unexpected_error;
1883: END IF;
1884:
1885:
1886:
1902: IF res = FALSE THEN
1903: IF g_debug = 1 THEN
1904: print_debug('Invalid Grade Code value '|| p_grade_code, 9);
1905: END IF;
1906: RAISE fnd_api.g_exc_error;
1907: END IF;
1908: IF g_debug = 1 THEN
1909: print_debug('Program Inv_Lot_Attr_Pub.validate_grade_code ' || l_return_status, 9);
1910: END IF;
1907: END IF;
1908: IF g_debug = 1 THEN
1909: print_debug('Program Inv_Lot_Attr_Pub.validate_grade_code ' || l_return_status, 9);
1910: END IF;
1911: IF l_return_status = fnd_api.g_ret_sts_error THEN
1912: IF g_debug = 1 THEN
1913: print_debug('Program INV_LOT_ATTR_PUB.validate_grade_code has failed with a user defined exception', 9);
1914: END IF;
1915: RAISE g_exc_error;
1912: IF g_debug = 1 THEN
1913: print_debug('Program INV_LOT_ATTR_PUB.validate_grade_code has failed with a user defined exception', 9);
1914: END IF;
1915: RAISE g_exc_error;
1916: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1917: IF g_debug = 1 THEN
1918: print_debug('Program INV_LOT_ATTR_PUB.validate_grade_code has failed with a Unexpected exception', 9);
1919: END IF;
1920: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1919: END IF;
1920: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1921: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
1922: FND_MSG_PUB.ADD;
1923: RAISE fnd_api.g_exc_unexpected_error;
1924: END IF;
1925:
1926:
1927: /******************* END Grade Code validation logic ********************/
1942: IF res = FALSE THEN
1943: IF g_debug = 1 THEN
1944: print_debug('Invalid Expiration Action Code value '|| p_expiration_action_code, 9);
1945: END IF;
1946: RAISE fnd_api.g_exc_error;
1947: END IF;
1948: IF g_debug = 1 THEN
1949: print_debug('Program Inv_Lot_Attr_Pub.validate_exp_action_code ' || l_return_status, 9);
1950: END IF;
1947: END IF;
1948: IF g_debug = 1 THEN
1949: print_debug('Program Inv_Lot_Attr_Pub.validate_exp_action_code ' || l_return_status, 9);
1950: END IF;
1951: IF l_return_status = fnd_api.g_ret_sts_error THEN
1952: IF g_debug = 1 THEN
1953: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a user defined exception', 9);
1954: END IF;
1955: RAISE fnd_api.g_exc_error;
1951: IF l_return_status = fnd_api.g_ret_sts_error THEN
1952: IF g_debug = 1 THEN
1953: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a user defined exception', 9);
1954: END IF;
1955: RAISE fnd_api.g_exc_error;
1956: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1957: IF g_debug = 1 THEN
1958: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a Unexpected exception', 9);
1959: END IF;
1952: IF g_debug = 1 THEN
1953: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a user defined exception', 9);
1954: END IF;
1955: RAISE fnd_api.g_exc_error;
1956: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1957: IF g_debug = 1 THEN
1958: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a Unexpected exception', 9);
1959: END IF;
1960: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1959: END IF;
1960: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1961: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
1962: FND_MSG_PUB.ADD;
1963: RAISE fnd_api.g_exc_unexpected_error;
1964: END IF;
1965:
1966:
1967:
1989: IF res = FALSE THEN
1990: IF g_debug = 1 THEN
1991: print_debug('Invalid Expiration Action Date value '|| p_expiration_action_date, 9);
1992: END IF;
1993: RAISE fnd_api.g_exc_error;
1994: END IF;
1995: IF g_debug = 1 THEN
1996: print_debug('Program Inv_Lot_Attr_Pub.validate_exp_action_date ' || l_return_status, 9);
1997: END IF;
1994: END IF;
1995: IF g_debug = 1 THEN
1996: print_debug('Program Inv_Lot_Attr_Pub.validate_exp_action_date ' || l_return_status, 9);
1997: END IF;
1998: IF l_return_status = fnd_api.g_ret_sts_error THEN
1999: IF g_debug = 1 THEN
2000: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a user defined exception', 9);
2001: END IF;
2002: RAISE fnd_api.g_exc_error;
1998: IF l_return_status = fnd_api.g_ret_sts_error THEN
1999: IF g_debug = 1 THEN
2000: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a user defined exception', 9);
2001: END IF;
2002: RAISE fnd_api.g_exc_error;
2003: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2004: IF g_debug = 1 THEN
2005: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a Unexpected exception', 9);
2006: END IF;
1999: IF g_debug = 1 THEN
2000: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a user defined exception', 9);
2001: END IF;
2002: RAISE fnd_api.g_exc_error;
2003: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2004: IF g_debug = 1 THEN
2005: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a Unexpected exception', 9);
2006: END IF;
2007: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2006: END IF;
2007: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2008: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
2009: FND_MSG_PUB.ADD;
2010: RAISE fnd_api.g_exc_unexpected_error;
2011: END IF;
2012: END IF ; -- Check for positive expiration action interval
2013: END IF ; -- Cursor If
2014: CLOSE c_get_item_info;
2032: IF res = FALSE THEN
2033: IF g_debug = 1 THEN
2034: print_debug('Invalid Retest Date value '|| p_retest_date, 9);
2035: END IF;
2036: RAISE fnd_api.g_exc_error;
2037: END IF;
2038: IF g_debug = 1 THEN
2039: print_debug('Program Inv_Lot_Attr_Pub.validate_retest_date ' || l_return_status, 9);
2040: END IF;
2037: END IF;
2038: IF g_debug = 1 THEN
2039: print_debug('Program Inv_Lot_Attr_Pub.validate_retest_date ' || l_return_status, 9);
2040: END IF;
2041: IF l_return_status = fnd_api.g_ret_sts_error THEN
2042: IF g_debug = 1 THEN
2043: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a user defined exception', 9);
2044: END IF;
2045: RAISE fnd_api.g_exc_error;
2041: IF l_return_status = fnd_api.g_ret_sts_error THEN
2042: IF g_debug = 1 THEN
2043: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a user defined exception', 9);
2044: END IF;
2045: RAISE fnd_api.g_exc_error;
2046: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2047: IF g_debug = 1 THEN
2048: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a Unexpected exception', 9);
2049: END IF;
2042: IF g_debug = 1 THEN
2043: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a user defined exception', 9);
2044: END IF;
2045: RAISE fnd_api.g_exc_error;
2046: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2047: IF g_debug = 1 THEN
2048: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a Unexpected exception', 9);
2049: END IF;
2050: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2049: END IF;
2050: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2051: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
2052: FND_MSG_PUB.ADD;
2053: RAISE fnd_api.g_exc_unexpected_error;
2054: END IF;
2055:
2056:
2057:
2071: IF res = FALSE THEN
2072: IF g_debug = 1 THEN
2073: print_debug('Invalid Maturity Date value '|| p_maturity_date, 9);
2074: END IF;
2075: RAISE fnd_api.g_exc_error;
2076: END IF;
2077: IF g_debug = 1 THEN
2078: print_debug('Program Inv_Lot_Attr_Pub.validate_maturity_date ' || l_return_status, 9);
2079: END IF;
2076: END IF;
2077: IF g_debug = 1 THEN
2078: print_debug('Program Inv_Lot_Attr_Pub.validate_maturity_date ' || l_return_status, 9);
2079: END IF;
2080: IF l_return_status = fnd_api.g_ret_sts_error THEN
2081: IF g_debug = 1 THEN
2082: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a user defined exception', 9);
2083: END IF;
2084: RAISE fnd_api.g_exc_error;
2080: IF l_return_status = fnd_api.g_ret_sts_error THEN
2081: IF g_debug = 1 THEN
2082: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a user defined exception', 9);
2083: END IF;
2084: RAISE fnd_api.g_exc_error;
2085: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2086: IF g_debug = 1 THEN
2087: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a Unexpected exception', 9);
2088: END IF;
2081: IF g_debug = 1 THEN
2082: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a user defined exception', 9);
2083: END IF;
2084: RAISE fnd_api.g_exc_error;
2085: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2086: IF g_debug = 1 THEN
2087: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a Unexpected exception', 9);
2088: END IF;
2089: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2088: END IF;
2089: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2090: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
2091: FND_MSG_PUB.ADD;
2092: RAISE fnd_api.g_exc_unexpected_error;
2093: END IF;
2094:
2095:
2096:
2110: IF res = FALSE THEN
2111: IF g_debug = 1 THEN
2112: print_debug('Invalid Hold Date value '|| p_hold_date, 9);
2113: END IF;
2114: RAISE fnd_api.g_exc_error;
2115: END IF;
2116: IF g_debug = 1 THEN
2117: print_debug('Program Inv_Lot_Attr_Pub.validate_hold_date ' || l_return_status, 9);
2118: END IF;
2115: END IF;
2116: IF g_debug = 1 THEN
2117: print_debug('Program Inv_Lot_Attr_Pub.validate_hold_date ' || l_return_status, 9);
2118: END IF;
2119: IF l_return_status = fnd_api.g_ret_sts_error THEN
2120: IF g_debug = 1 THEN
2121: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a user defined exception', 9);
2122: END IF;
2123: RAISE fnd_api.g_exc_error;
2119: IF l_return_status = fnd_api.g_ret_sts_error THEN
2120: IF g_debug = 1 THEN
2121: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a user defined exception', 9);
2122: END IF;
2123: RAISE fnd_api.g_exc_error;
2124: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2125: IF g_debug = 1 THEN
2126: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a Unexpected exception', 9);
2127: END IF;
2120: IF g_debug = 1 THEN
2121: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a user defined exception', 9);
2122: END IF;
2123: RAISE fnd_api.g_exc_error;
2124: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2125: IF g_debug = 1 THEN
2126: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a Unexpected exception', 9);
2127: END IF;
2128: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2127: END IF;
2128: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2129: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
2130: FND_MSG_PUB.ADD;
2131: RAISE fnd_api.g_exc_unexpected_error;
2132: END IF;
2133:
2134:
2135: /******************* END Hold Date validation logic ********************/
2137: /******************* END Perform Date validation logic ********************/
2138:
2139: EXCEPTION
2140: WHEN NO_DATA_FOUND THEN
2141: x_return_status := fnd_api.g_ret_sts_error;
2142: ROLLBACK TO val_lot_attr_information;
2143: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2144: if( x_msg_count > 1 ) then
2145: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2139: EXCEPTION
2140: WHEN NO_DATA_FOUND THEN
2141: x_return_status := fnd_api.g_ret_sts_error;
2142: ROLLBACK TO val_lot_attr_information;
2143: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2144: if( x_msg_count > 1 ) then
2145: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2146: end if;
2147: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2141: x_return_status := fnd_api.g_ret_sts_error;
2142: ROLLBACK TO val_lot_attr_information;
2143: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2144: if( x_msg_count > 1 ) then
2145: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2146: end if;
2147: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2148: WHEN fnd_api.g_exc_error THEN
2149: x_return_status := fnd_api.g_ret_sts_error;
2144: if( x_msg_count > 1 ) then
2145: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2146: end if;
2147: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2148: WHEN fnd_api.g_exc_error THEN
2149: x_return_status := fnd_api.g_ret_sts_error;
2150: ROLLBACK TO val_lot_attr_information;
2151: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2152: if( x_msg_count > 1 ) then
2145: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2146: end if;
2147: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2148: WHEN fnd_api.g_exc_error THEN
2149: x_return_status := fnd_api.g_ret_sts_error;
2150: ROLLBACK TO val_lot_attr_information;
2151: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2152: if( x_msg_count > 1 ) then
2153: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2147: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2148: WHEN fnd_api.g_exc_error THEN
2149: x_return_status := fnd_api.g_ret_sts_error;
2150: ROLLBACK TO val_lot_attr_information;
2151: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2152: if( x_msg_count > 1 ) then
2153: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2154: end if;
2155: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2149: x_return_status := fnd_api.g_ret_sts_error;
2150: ROLLBACK TO val_lot_attr_information;
2151: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2152: if( x_msg_count > 1 ) then
2153: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2154: end if;
2155: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2156: WHEN fnd_api.g_exc_unexpected_error THEN
2157: x_return_status := fnd_api.g_ret_sts_unexp_error;
2152: if( x_msg_count > 1 ) then
2153: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2154: end if;
2155: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2156: WHEN fnd_api.g_exc_unexpected_error THEN
2157: x_return_status := fnd_api.g_ret_sts_unexp_error;
2158: ROLLBACK TO val_lot_attr_information;
2159: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2160: if( x_msg_count > 1 ) then
2153: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2154: end if;
2155: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2156: WHEN fnd_api.g_exc_unexpected_error THEN
2157: x_return_status := fnd_api.g_ret_sts_unexp_error;
2158: ROLLBACK TO val_lot_attr_information;
2159: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2160: if( x_msg_count > 1 ) then
2161: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2155: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2156: WHEN fnd_api.g_exc_unexpected_error THEN
2157: x_return_status := fnd_api.g_ret_sts_unexp_error;
2158: ROLLBACK TO val_lot_attr_information;
2159: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2160: if( x_msg_count > 1 ) then
2161: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2162: end if;
2163: print_debug('In g_exc_unexpected_error Validate_Additional_Attr ' || SQLERRM, 9);
2157: x_return_status := fnd_api.g_ret_sts_unexp_error;
2158: ROLLBACK TO val_lot_attr_information;
2159: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2160: if( x_msg_count > 1 ) then
2161: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2162: end if;
2163: print_debug('In g_exc_unexpected_error Validate_Additional_Attr ' || SQLERRM, 9);
2164: WHEN OTHERS THEN
2165: x_return_status := fnd_api.g_ret_sts_unexp_error;
2161: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2162: end if;
2163: print_debug('In g_exc_unexpected_error Validate_Additional_Attr ' || SQLERRM, 9);
2164: WHEN OTHERS THEN
2165: x_return_status := fnd_api.g_ret_sts_unexp_error;
2166: ROLLBACK TO val_lot_attr_information;
2167: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2168: if( x_msg_count > 1 ) then
2169: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2163: print_debug('In g_exc_unexpected_error Validate_Additional_Attr ' || SQLERRM, 9);
2164: WHEN OTHERS THEN
2165: x_return_status := fnd_api.g_ret_sts_unexp_error;
2166: ROLLBACK TO val_lot_attr_information;
2167: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2168: if( x_msg_count > 1 ) then
2169: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2170: end if;
2171: print_debug('In others Validate_Additional_Attr ' || SQLERRM, 9);
2165: x_return_status := fnd_api.g_ret_sts_unexp_error;
2166: ROLLBACK TO val_lot_attr_information;
2167: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2168: if( x_msg_count > 1 ) then
2169: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2170: end if;
2171: print_debug('In others Validate_Additional_Attr ' || SQLERRM, 9);
2172:
2173: END Validate_Additional_Attr;
2216:
2217: BEGIN
2218:
2219: SAVEPOINT inv_delete_lot ;
2220: x_return_status := fnd_api.g_ret_sts_success;
2221:
2222: /*Basic Validations - Start*/
2223: IF p_organization_id IS NULL THEN
2224: IF g_debug = 1 THEN
2225: print_debug('Value for mandatory field organization id cannot be null.', 9);
2226: END IF;
2227: fnd_message.set_name('INV', 'INV_NULL_ORG_EXP') ;
2228: fnd_msg_pub.ADD;
2229: RAISE fnd_api.g_exc_error;
2230: END IF ;
2231:
2232: IF p_inventory_item_id IS NULL THEN
2233: IF g_debug = 1 THEN
2234: print_debug('Value for mandatory field inventory item id cannot be null.', 9);
2235: END IF;
2236: fnd_message.set_name('INV', 'INV_INVALID_ITEM') ;
2237: fnd_msg_pub.ADD;
2238: RAISE fnd_api.g_exc_error;
2239: END IF ;
2240:
2241: IF p_lot_number IS NULL THEN
2242: IF g_debug = 1 THEN
2243: print_debug('Value for mandatory field Lot Number cannot be null', 9);
2244: END IF;
2245: fnd_message.set_name('INV', 'INV_NULL_CLOT_EXP');
2246: fnd_msg_pub.ADD;
2247: RAISE fnd_api.g_exc_error;
2248: END IF;
2249: /*Basic Validations - End*/
2250:
2251: /******************* START Item validation ********************/
2267: IF g_debug = 1 THEN
2268: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
2269: END IF;
2270:
2271: IF l_return_status = fnd_api.g_ret_sts_error THEN
2272: IF g_debug = 1 THEN
2273: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
2274: END IF;
2275: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
2274: END IF;
2275: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
2276: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
2277: FND_MSG_PUB.ADD;
2278: RAISE fnd_api.g_exc_error;
2279: END IF;
2280:
2281: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2282: IF g_debug = 1 THEN
2277: FND_MSG_PUB.ADD;
2278: RAISE fnd_api.g_exc_error;
2279: END IF;
2280:
2281: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2282: IF g_debug = 1 THEN
2283: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
2284: END IF;
2285: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2284: END IF;
2285: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2286: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
2287: fnd_msg_pub.ADD;
2288: RAISE fnd_api.g_exc_unexpected_error;
2289: END IF;
2290:
2291: IF (l_lot_cont = FALSE) THEN
2292: IF g_debug = 1 THEN
2293: print_debug(' Item is not lot controlled ', 9);
2294: END IF;
2295: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
2296: fnd_msg_pub.ADD;
2297: x_return_status := fnd_api.g_ret_sts_error;
2298: RAISE g_exc_error;
2299: END IF ;
2300:
2301: /******************* End Item validation ********************/
2355: END IF;
2356:
2357: EXCEPTION
2358: WHEN NO_DATA_FOUND THEN
2359: x_return_status := fnd_api.g_ret_sts_error;
2360: ROLLBACK TO inv_delete_lot;
2361: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2362: if( x_msg_count > 1 ) then
2363: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2357: EXCEPTION
2358: WHEN NO_DATA_FOUND THEN
2359: x_return_status := fnd_api.g_ret_sts_error;
2360: ROLLBACK TO inv_delete_lot;
2361: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2362: if( x_msg_count > 1 ) then
2363: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2364: end if;
2365: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2359: x_return_status := fnd_api.g_ret_sts_error;
2360: ROLLBACK TO inv_delete_lot;
2361: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2362: if( x_msg_count > 1 ) then
2363: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2364: end if;
2365: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2366: WHEN fnd_api.g_exc_error THEN
2367: x_return_status := fnd_api.g_ret_sts_error;
2362: if( x_msg_count > 1 ) then
2363: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2364: end if;
2365: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2366: WHEN fnd_api.g_exc_error THEN
2367: x_return_status := fnd_api.g_ret_sts_error;
2368: ROLLBACK TO inv_delete_lot;
2369: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2370: if( x_msg_count > 1 ) then
2363: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2364: end if;
2365: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2366: WHEN fnd_api.g_exc_error THEN
2367: x_return_status := fnd_api.g_ret_sts_error;
2368: ROLLBACK TO inv_delete_lot;
2369: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2370: if( x_msg_count > 1 ) then
2371: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2365: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2366: WHEN fnd_api.g_exc_error THEN
2367: x_return_status := fnd_api.g_ret_sts_error;
2368: ROLLBACK TO inv_delete_lot;
2369: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2370: if( x_msg_count > 1 ) then
2371: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2372: end if;
2373: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2367: x_return_status := fnd_api.g_ret_sts_error;
2368: ROLLBACK TO inv_delete_lot;
2369: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2370: if( x_msg_count > 1 ) then
2371: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2372: end if;
2373: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2374: WHEN fnd_api.g_exc_unexpected_error THEN
2375: x_return_status := fnd_api.g_ret_sts_unexp_error;
2370: if( x_msg_count > 1 ) then
2371: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2372: end if;
2373: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2374: WHEN fnd_api.g_exc_unexpected_error THEN
2375: x_return_status := fnd_api.g_ret_sts_unexp_error;
2376: ROLLBACK TO inv_delete_lot;
2377: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2378: if( x_msg_count > 1 ) then
2371: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2372: end if;
2373: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2374: WHEN fnd_api.g_exc_unexpected_error THEN
2375: x_return_status := fnd_api.g_ret_sts_unexp_error;
2376: ROLLBACK TO inv_delete_lot;
2377: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2378: if( x_msg_count > 1 ) then
2379: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2373: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2374: WHEN fnd_api.g_exc_unexpected_error THEN
2375: x_return_status := fnd_api.g_ret_sts_unexp_error;
2376: ROLLBACK TO inv_delete_lot;
2377: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2378: if( x_msg_count > 1 ) then
2379: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2380: end if;
2381: print_debug('In Delete_Lot, g_exc_unexpected_error ' || SQLERRM, 9);
2375: x_return_status := fnd_api.g_ret_sts_unexp_error;
2376: ROLLBACK TO inv_delete_lot;
2377: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2378: if( x_msg_count > 1 ) then
2379: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2380: end if;
2381: print_debug('In Delete_Lot, g_exc_unexpected_error ' || SQLERRM, 9);
2382: WHEN OTHERS THEN
2383: x_return_status := fnd_api.g_ret_sts_unexp_error;
2379: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2380: end if;
2381: print_debug('In Delete_Lot, g_exc_unexpected_error ' || SQLERRM, 9);
2382: WHEN OTHERS THEN
2383: x_return_status := fnd_api.g_ret_sts_unexp_error;
2384: ROLLBACK TO inv_delete_lot;
2385: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2386: if( x_msg_count > 1 ) then
2387: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2381: print_debug('In Delete_Lot, g_exc_unexpected_error ' || SQLERRM, 9);
2382: WHEN OTHERS THEN
2383: x_return_status := fnd_api.g_ret_sts_unexp_error;
2384: ROLLBACK TO inv_delete_lot;
2385: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2386: if( x_msg_count > 1 ) then
2387: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2388: end if;
2389: print_debug('In Delete_Lot, Others ' || SQLERRM, 9);
2383: x_return_status := fnd_api.g_ret_sts_unexp_error;
2384: ROLLBACK TO inv_delete_lot;
2385: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2386: if( x_msg_count > 1 ) then
2387: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2388: end if;
2389: print_debug('In Delete_Lot, Others ' || SQLERRM, 9);
2390:
2391: END Delete_Lot;