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;
187: SAVEPOINT inv_pop_lot ;
188:
189: l_source := p_source ;
190: l_api_version := 1.0;
191: l_init_msg_list := fnd_api.g_false;
192: l_commit := fnd_api.g_false;
193:
194:
195: /******************* START Item validation ********************/
188:
189: l_source := p_source ;
190: l_api_version := 1.0;
191: l_init_msg_list := fnd_api.g_false;
192: l_commit := fnd_api.g_false;
193:
194:
195: /******************* START Item validation ********************/
196:
211: IF g_debug = 1 THEN
212: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
213: END IF;
214:
215: IF l_return_status = fnd_api.g_ret_sts_error THEN
216: IF g_debug = 1 THEN
217: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
218: END IF;
219: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
218: END IF;
219: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
220: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
221: FND_MSG_PUB.ADD;
222: RAISE fnd_api.g_exc_error;
223: END IF;
224:
225: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
226: IF g_debug = 1 THEN
221: FND_MSG_PUB.ADD;
222: RAISE fnd_api.g_exc_error;
223: END IF;
224:
225: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
226: IF g_debug = 1 THEN
227: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
228: END IF;
229: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
228: END IF;
229: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
230: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
231: fnd_msg_pub.ADD;
232: RAISE fnd_api.g_exc_unexpected_error;
233: END IF;
234:
235: IF (l_lot_cont = FALSE) THEN
236: IF g_debug = 1 THEN
237: print_debug(' Item is not lot controlled ', 9);
238: END IF;
239: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
240: fnd_msg_pub.ADD;
241: x_return_status := fnd_api.g_ret_sts_error;
242: RAISE fnd_api.g_exc_error;
243: END IF ;
244:
245: IF (l_child_lot_cont = FALSE AND p_lot_rec.parent_lot_number IS NOT NULL) THEN
238: END IF;
239: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
240: fnd_msg_pub.ADD;
241: x_return_status := fnd_api.g_ret_sts_error;
242: RAISE fnd_api.g_exc_error;
243: END IF ;
244:
245: IF (l_child_lot_cont = FALSE AND p_lot_rec.parent_lot_number IS NOT NULL) THEN
246:
248: print_debug(' Item is not Child lot controlled ', 9);
249: END IF;
250: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
251: fnd_msg_pub.ADD;
252: x_return_status := fnd_api.g_ret_sts_error;
253: RAISE fnd_api.g_exc_error;
254: END IF ;
255: /******************* End Item validation ********************/
256:
249: END IF;
250: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
251: fnd_msg_pub.ADD;
252: x_return_status := fnd_api.g_ret_sts_error;
253: RAISE fnd_api.g_exc_error;
254: END IF ;
255: /******************* End Item validation ********************/
256:
257:
424:
425: IF g_debug = 1 THEN
426: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr return ' || l_return_status, 9);
427: END IF;
428: IF l_return_status = fnd_api.g_ret_sts_error THEN
429: IF g_debug = 1 THEN
430: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a user defined exception', 9);
431: END IF;
432: RAISE fnd_api.g_exc_error;
428: IF l_return_status = fnd_api.g_ret_sts_error THEN
429: IF g_debug = 1 THEN
430: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a user defined exception', 9);
431: END IF;
432: RAISE fnd_api.g_exc_error;
433: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
434: IF g_debug = 1 THEN
435: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a Unexpected exception', 9);
436: END IF;
429: IF g_debug = 1 THEN
430: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a user defined exception', 9);
431: END IF;
432: RAISE fnd_api.g_exc_error;
433: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
434: IF g_debug = 1 THEN
435: print_debug('Program Inv_Lot_Api_Pkg.Set_Msi_Default_Attr has failed with a Unexpected exception', 9);
436: END IF;
437: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
436: END IF;
437: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
438: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_Lot_Api_Pkg.Set_Msi_Default_Attr');
439: FND_MSG_PUB.ADD;
440: RAISE fnd_api.g_exc_unexpected_error;
441: END IF;
442:
443:
444: END IF ;
448: Inv_lot_api_pub.Validate_Child_Lot (
449: p_api_version => l_api_version
450: , p_init_msg_list => l_init_msg_list
451: , p_commit => l_commit
452: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
453: , p_organization_id => x_child_lot_rec.organization_id
454: , p_inventory_item_id => x_child_lot_rec.inventory_item_id
455: , p_parent_lot_number => x_child_lot_rec.parent_lot_number
456: , p_child_lot_number => x_child_lot_rec.lot_number
464:
465: IF g_debug = 1 THEN
466: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT 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_pub.VALIDATE_CHILD_LOT 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_pub.VALIDATE_CHILD_LOT 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_pub.VALIDATE_CHILD_LOT has failed with a Unexpected exception', 9);
476: END IF;
469: IF g_debug = 1 THEN
470: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT 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_pub.VALIDATE_CHILD_LOT 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_pub.VALIDATE_CHILD_LOT');
479: FND_MSG_PUB.ADD;
480: RAISE fnd_api.g_exc_unexpected_error;
481: END IF;
482: END IF ; --parent lot check
483: /* Validate parent lot record x_parent_lot_rec by calling VALIDATE_LOT_ATTRIBUTES API */
484: INV_LOT_API_PKG.Validate_Lot_Attributes (
490: ) ;
491: IF g_debug = 1 THEN
492: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES return ' || l_return_status, 9);
493: END IF;
494: IF l_return_status = fnd_api.g_ret_sts_error THEN
495: IF g_debug = 1 THEN
496: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a user defined exception', 9);
497: END IF;
498: RAISE fnd_api.g_exc_error;
494: IF l_return_status = fnd_api.g_ret_sts_error THEN
495: IF g_debug = 1 THEN
496: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a user defined exception', 9);
497: END IF;
498: RAISE fnd_api.g_exc_error;
499: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
500: IF g_debug = 1 THEN
501: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a Unexpected exception', 9);
502: END IF;
495: IF g_debug = 1 THEN
496: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a user defined exception', 9);
497: END IF;
498: RAISE fnd_api.g_exc_error;
499: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
500: IF g_debug = 1 THEN
501: print_debug('Program INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES has failed with a Unexpected exception', 9);
502: END IF;
503: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
502: END IF;
503: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
504: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_API_PKG.VALIDATE_LOT_ATTRIBUTES');
505: FND_MSG_PUB.ADD;
506: RAISE fnd_api.g_exc_unexpected_error;
507: END IF;
508:
509:
510: print_debug('Program INV_LOT_API_PKG.Populate_Lot_Records Ends ' , 9);
510: print_debug('Program INV_LOT_API_PKG.Populate_Lot_Records Ends ' , 9);
511:
512: EXCEPTION
513: WHEN NO_DATA_FOUND THEN
514: x_return_status := fnd_api.g_ret_sts_error;
515: ROLLBACK TO inv_pop_lot ;
516: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
517: if( x_msg_count > 1 ) then
518: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
512: EXCEPTION
513: WHEN NO_DATA_FOUND THEN
514: x_return_status := fnd_api.g_ret_sts_error;
515: ROLLBACK TO inv_pop_lot ;
516: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
517: if( x_msg_count > 1 ) then
518: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
519: end if;
520: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
514: x_return_status := fnd_api.g_ret_sts_error;
515: ROLLBACK TO inv_pop_lot ;
516: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
517: if( x_msg_count > 1 ) then
518: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
519: end if;
520: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
521: WHEN fnd_api.g_exc_error THEN
522: x_return_status := fnd_api.g_ret_sts_error;
517: if( x_msg_count > 1 ) then
518: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
519: end if;
520: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
521: WHEN fnd_api.g_exc_error THEN
522: x_return_status := fnd_api.g_ret_sts_error;
523: ROLLBACK TO inv_pop_lot ;
524: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
525: if( x_msg_count > 1 ) then
518: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
519: end if;
520: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
521: WHEN fnd_api.g_exc_error THEN
522: x_return_status := fnd_api.g_ret_sts_error;
523: ROLLBACK TO inv_pop_lot ;
524: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
525: if( x_msg_count > 1 ) then
526: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
520: print_debug('In No data found Populate_Lot_Records ' || SQLERRM, 9);
521: WHEN fnd_api.g_exc_error THEN
522: x_return_status := fnd_api.g_ret_sts_error;
523: ROLLBACK TO inv_pop_lot ;
524: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
525: if( x_msg_count > 1 ) then
526: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
527: end if;
528: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
522: x_return_status := fnd_api.g_ret_sts_error;
523: ROLLBACK TO inv_pop_lot ;
524: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
525: if( x_msg_count > 1 ) then
526: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
527: end if;
528: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
529: WHEN fnd_api.g_exc_unexpected_error THEN
530: x_return_status := fnd_api.g_ret_sts_unexp_error;
525: if( x_msg_count > 1 ) then
526: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
527: end if;
528: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
529: WHEN fnd_api.g_exc_unexpected_error THEN
530: x_return_status := fnd_api.g_ret_sts_unexp_error;
531: ROLLBACK TO inv_pop_lot ;
532: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
533: if( x_msg_count > 1 ) then
526: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
527: end if;
528: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
529: WHEN fnd_api.g_exc_unexpected_error THEN
530: x_return_status := fnd_api.g_ret_sts_unexp_error;
531: ROLLBACK TO inv_pop_lot ;
532: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
533: if( x_msg_count > 1 ) then
534: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
528: print_debug('In g_exc_error Populate_Lot_Records ' || SQLERRM, 9);
529: WHEN fnd_api.g_exc_unexpected_error THEN
530: x_return_status := fnd_api.g_ret_sts_unexp_error;
531: ROLLBACK TO inv_pop_lot ;
532: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
533: if( x_msg_count > 1 ) then
534: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
535: end if;
536: print_debug('In g_exc_unexpected_error Populate_Lot_Records ' || SQLERRM, 9);
530: x_return_status := fnd_api.g_ret_sts_unexp_error;
531: ROLLBACK TO inv_pop_lot ;
532: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
533: if( x_msg_count > 1 ) then
534: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
535: end if;
536: print_debug('In g_exc_unexpected_error Populate_Lot_Records ' || SQLERRM, 9);
537: WHEN OTHERS THEN
538: x_return_status := fnd_api.g_ret_sts_unexp_error;
534: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
535: end if;
536: print_debug('In g_exc_unexpected_error Populate_Lot_Records ' || SQLERRM, 9);
537: WHEN OTHERS THEN
538: x_return_status := fnd_api.g_ret_sts_unexp_error;
539: ROLLBACK TO inv_pop_lot ;
540: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
541: if( x_msg_count > 1 ) then
542: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
536: print_debug('In g_exc_unexpected_error Populate_Lot_Records ' || SQLERRM, 9);
537: WHEN OTHERS THEN
538: x_return_status := fnd_api.g_ret_sts_unexp_error;
539: ROLLBACK TO inv_pop_lot ;
540: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
541: if( x_msg_count > 1 ) then
542: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
543: end if;
544: print_debug('In others Populate_Lot_Records ' || SQLERRM, 9);
538: x_return_status := fnd_api.g_ret_sts_unexp_error;
539: ROLLBACK TO inv_pop_lot ;
540: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
541: if( x_msg_count > 1 ) then
542: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
543: end if;
544: print_debug('In others Populate_Lot_Records ' || SQLERRM, 9);
545:
546: END Populate_Lot_Records;
648: IF g_debug = 1 THEN
649: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
650: END IF;
651:
652: IF l_return_status = fnd_api.g_ret_sts_error THEN
653: IF g_debug = 1 THEN
654: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
655: END IF;
656: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
655: END IF;
656: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
657: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
658: FND_MSG_PUB.ADD;
659: RAISE fnd_api.g_exc_error;
660: END IF;
661:
662: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
663: IF g_debug = 1 THEN
658: FND_MSG_PUB.ADD;
659: RAISE fnd_api.g_exc_error;
660: END IF;
661:
662: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
663: IF g_debug = 1 THEN
664: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
665: END IF;
666: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
665: END IF;
666: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
667: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
668: fnd_msg_pub.ADD;
669: RAISE fnd_api.g_exc_unexpected_error;
670: END IF;
671:
672: IF (l_lot_cont = FALSE) THEN
673: IF g_debug = 1 THEN
674: print_debug(' Item is not lot controlled ', 9);
675: END IF;
676: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
677: fnd_msg_pub.ADD;
678: x_return_status := fnd_api.g_ret_sts_error;
679: RAISE fnd_api.g_exc_error;
680: END IF ;
681:
682: IF (l_child_lot_cont = FALSE AND p_lot_rec.parent_lot_number IS NOT NULL) THEN
675: END IF;
676: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
677: fnd_msg_pub.ADD;
678: x_return_status := fnd_api.g_ret_sts_error;
679: RAISE fnd_api.g_exc_error;
680: END IF ;
681:
682: IF (l_child_lot_cont = FALSE AND p_lot_rec.parent_lot_number IS NOT NULL) THEN
683:
685: print_debug(' Item is not Child lot controlled ', 9);
686: END IF;
687: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
688: fnd_msg_pub.ADD;
689: x_return_status := fnd_api.g_ret_sts_error;
690: RAISE fnd_api.g_exc_error;
691: END IF ;
692:
693: /******************* End Item validation ********************/
686: END IF;
687: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
688: fnd_msg_pub.ADD;
689: x_return_status := fnd_api.g_ret_sts_error;
690: RAISE fnd_api.g_exc_error;
691: END IF ;
692:
693: /******************* End Item validation ********************/
694:
778: ,p_table => 1
779: ,x_lot_expiration_date => l_lot_expiration_date
780: ,x_return_status => l_return_status);
781:
782: IF l_return_status <> fnd_api.g_ret_sts_success THEN
783: IF g_debug = 1 THEN
784: print_debug('Program inv_calculate_exp_date.get_lot_expiration_date has failed with a Unexpected exception', 9);
785: END IF;
786: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
785: END IF;
786: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
787: FND_MESSAGE.SET_TOKEN('PROG_NAME','inv_calculate_exp_date.get_lot_expiration_date');
788: fnd_msg_pub.ADD;
789: RAISE fnd_api.g_exc_unexpected_error;
790: END IF;
791: IF g_debug = 1 THEN
792: print_debug('l_lot_expiration_date (1) '||l_lot_expiration_date, 9);
793: END IF;
811: ,p_table => 2
812: ,x_lot_expiration_date => l_lot_expiration_date
813: ,x_return_status => l_return_status);
814:
815: IF l_return_status <> fnd_api.g_ret_sts_success THEN
816: IF g_debug = 1 THEN
817: print_debug('Program inv_calculate_exp_date.get_lot_expiration_date has failed with a Unexpected exception', 9);
818: END IF;
819: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
818: END IF;
819: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
820: FND_MESSAGE.SET_TOKEN('PROG_NAME','inv_calculate_exp_date.get_lot_expiration_date');
821: fnd_msg_pub.ADD;
822: RAISE fnd_api.g_exc_unexpected_error;
823: END IF;
824: IF g_debug = 1 THEN
825: print_debug('l_lot_expiration_date (2) '||l_lot_expiration_date, 9);
826: END IF;
865: END IF ; /* Origination Date */
866:
867: EXCEPTION
868: WHEN NO_DATA_FOUND THEN
869: x_return_status := fnd_api.g_ret_sts_error;
870: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
871: if( x_msg_count > 1 ) then
872: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
873: end if;
866:
867: EXCEPTION
868: WHEN NO_DATA_FOUND THEN
869: x_return_status := fnd_api.g_ret_sts_error;
870: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
871: if( x_msg_count > 1 ) then
872: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
873: end if;
874: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
868: WHEN NO_DATA_FOUND THEN
869: x_return_status := fnd_api.g_ret_sts_error;
870: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
871: if( x_msg_count > 1 ) then
872: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
873: end if;
874: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
875: WHEN fnd_api.g_exc_error THEN
876: x_return_status := fnd_api.g_ret_sts_error;
871: if( x_msg_count > 1 ) then
872: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
873: end if;
874: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
875: WHEN fnd_api.g_exc_error THEN
876: x_return_status := fnd_api.g_ret_sts_error;
877: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
878: if( x_msg_count > 1 ) then
879: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
872: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
873: end if;
874: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
875: WHEN fnd_api.g_exc_error THEN
876: x_return_status := fnd_api.g_ret_sts_error;
877: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
878: if( x_msg_count > 1 ) then
879: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
880: end if;
873: end if;
874: print_debug('In Set_Msi_Default_Attr, No data found ' || SQLERRM, 9);
875: WHEN fnd_api.g_exc_error THEN
876: x_return_status := fnd_api.g_ret_sts_error;
877: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
878: if( x_msg_count > 1 ) then
879: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
880: end if;
881: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
875: WHEN fnd_api.g_exc_error THEN
876: x_return_status := fnd_api.g_ret_sts_error;
877: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
878: if( x_msg_count > 1 ) then
879: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
880: end if;
881: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
882: WHEN fnd_api.g_exc_unexpected_error THEN
883: x_return_status := fnd_api.g_ret_sts_unexp_error;
878: if( x_msg_count > 1 ) then
879: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
880: end if;
881: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
882: WHEN fnd_api.g_exc_unexpected_error THEN
883: x_return_status := fnd_api.g_ret_sts_unexp_error;
884: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
885: if( x_msg_count > 1 ) then
886: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
879: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
880: end if;
881: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
882: WHEN fnd_api.g_exc_unexpected_error THEN
883: x_return_status := fnd_api.g_ret_sts_unexp_error;
884: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
885: if( x_msg_count > 1 ) then
886: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
887: end if;
880: end if;
881: print_debug('In Set_Msi_Default_Attr, g_exc_error ' || SQLERRM, 9);
882: WHEN fnd_api.g_exc_unexpected_error THEN
883: x_return_status := fnd_api.g_ret_sts_unexp_error;
884: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
885: if( x_msg_count > 1 ) then
886: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
887: end if;
888: print_debug('In Set_Msi_Default_Attr, g_exc_unexpected_error ' || SQLERRM, 9);
882: WHEN fnd_api.g_exc_unexpected_error THEN
883: x_return_status := fnd_api.g_ret_sts_unexp_error;
884: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
885: if( x_msg_count > 1 ) then
886: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
887: end if;
888: print_debug('In Set_Msi_Default_Attr, g_exc_unexpected_error ' || SQLERRM, 9);
889: WHEN OTHERS THEN
890: x_return_status := fnd_api.g_ret_sts_unexp_error;
886: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
887: end if;
888: print_debug('In Set_Msi_Default_Attr, g_exc_unexpected_error ' || SQLERRM, 9);
889: WHEN OTHERS THEN
890: x_return_status := fnd_api.g_ret_sts_unexp_error;
891: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
892: if( x_msg_count > 1 ) then
893: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
894: end if;
887: end if;
888: print_debug('In Set_Msi_Default_Attr, g_exc_unexpected_error ' || SQLERRM, 9);
889: WHEN OTHERS THEN
890: x_return_status := fnd_api.g_ret_sts_unexp_error;
891: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
892: if( x_msg_count > 1 ) then
893: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
894: end if;
895: print_debug('In Set_Msi_Default_Attr, Others ' || SQLERRM, 9);
889: WHEN OTHERS THEN
890: x_return_status := fnd_api.g_ret_sts_unexp_error;
891: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
892: if( x_msg_count > 1 ) then
893: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
894: end if;
895: print_debug('In Set_Msi_Default_Attr, Others ' || SQLERRM, 9);
896:
897: END Set_Msi_Default_Attr ;
983: l_def_lot_status NUMBER ;
984:
985: BEGIN
986: SAVEPOINT inv_val_lot;
987: x_return_status := fnd_api.g_ret_sts_success;
988:
989: p_inventory_item_id := x_lot_rec.inventory_item_id ;
990: p_organization_id := x_lot_rec.organization_id ;
991: p_lot_number := x_lot_rec.lot_number ;
1138: IF g_debug = 1 THEN
1139: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
1140: END IF;
1141:
1142: IF l_return_status = fnd_api.g_ret_sts_error THEN
1143: IF g_debug = 1 THEN
1144: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
1145: END IF;
1146: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
1145: END IF;
1146: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
1147: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
1148: FND_MSG_PUB.ADD;
1149: RAISE fnd_api.g_exc_error;
1150: END IF;
1151:
1152: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1153: IF g_debug = 1 THEN
1148: FND_MSG_PUB.ADD;
1149: RAISE fnd_api.g_exc_error;
1150: END IF;
1151:
1152: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1153: IF g_debug = 1 THEN
1154: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
1155: END IF;
1156: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1155: END IF;
1156: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1157: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
1158: fnd_msg_pub.ADD;
1159: RAISE fnd_api.g_exc_unexpected_error;
1160: END IF;
1161:
1162: IF (l_lot_cont = FALSE) THEN
1163: IF g_debug = 1 THEN
1164: print_debug(' Item is not lot controlled ', 9);
1165: END IF;
1166: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
1167: fnd_msg_pub.ADD;
1168: x_return_status := fnd_api.g_ret_sts_error;
1169: RAISE fnd_api.g_exc_error;
1170: END IF ;
1171:
1172: IF (l_child_lot_cont = FALSE AND p_parent_lot_number IS NOT NULL) THEN
1165: END IF;
1166: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
1167: fnd_msg_pub.ADD;
1168: x_return_status := fnd_api.g_ret_sts_error;
1169: RAISE fnd_api.g_exc_error;
1170: END IF ;
1171:
1172: IF (l_child_lot_cont = FALSE AND p_parent_lot_number IS NOT NULL) THEN
1173:
1175: print_debug(' Item is not Child lot controlled ', 9);
1176: END IF;
1177: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
1178: fnd_msg_pub.ADD;
1179: x_return_status := fnd_api.g_ret_sts_error;
1180: RAISE fnd_api.g_exc_error;
1181: END IF ;
1182: /******************* End Item validation ********************/
1183:
1176: END IF;
1177: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
1178: fnd_msg_pub.ADD;
1179: x_return_status := fnd_api.g_ret_sts_error;
1180: RAISE fnd_api.g_exc_error;
1181: END IF ;
1182: /******************* End Item validation ********************/
1183:
1184:
1234: fnd_msg_pub.ADD;
1235: IF g_debug = 1 THEN
1236: print_debug('Expiration will not be considered for shelf_life code of type ITEM_SHELF_LIFE_DAYS', 9);
1237: END IF;
1238: RAISE fnd_api.g_exc_error;
1239: END IF;
1240:
1241:
1242: ELSIF l_shelf_life_code = user_defined_exp_date THEN
1250:
1251: IF g_debug = 1 THEN
1252: print_debug('The value of expiration date is required ', 9);
1253: END IF;
1254: RAISE fnd_api.g_exc_error;
1255:
1256: ELSE
1257: l_expiration_date := p_expiration_date;
1258: END IF;
1286: IF p_lot_attribute_category IS NOT NULL AND
1287: (nvl(l_lot_attribute_category, p_lot_attribute_category) <> p_lot_attribute_category) THEN
1288: FND_MESSAGE.SET_NAME('INV','INV_WRONG_CONTEXT');
1289: FND_MSG_PUB.ADD;
1290: RAISE fnd_api.g_exc_error;
1291: END IF;
1292: END IF ;
1293:
1294: BEGIN
1365:
1366: IF g_debug = 1 THEN
1367: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM return ' || l_return_status, 9);
1368: END IF;
1369: IF l_return_status = fnd_api.g_ret_sts_error THEN
1370: IF g_debug = 1 THEN
1371: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a user defined exception', 9);
1372: END IF;
1373: RAISE fnd_api.g_exc_error;
1369: IF l_return_status = fnd_api.g_ret_sts_error THEN
1370: IF g_debug = 1 THEN
1371: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a user defined exception', 9);
1372: END IF;
1373: RAISE fnd_api.g_exc_error;
1374: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1375: IF g_debug = 1 THEN
1376: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a Unexpected exception', 9);
1377: END IF;
1370: IF g_debug = 1 THEN
1371: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a user defined exception', 9);
1372: END IF;
1373: RAISE fnd_api.g_exc_error;
1374: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1375: IF g_debug = 1 THEN
1376: print_debug('Program VALIDATE_LOT_ATTR_IN_PARAM has failed with a Unexpected exception', 9);
1377: END IF;
1378: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1377: END IF;
1378: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1379: FND_MESSAGE.SET_TOKEN('PROG_NAME','VALIDATE_LOT_ATTR_IN_PARAM');
1380: fnd_msg_pub.ADD;
1381: RAISE fnd_api.g_exc_unexpected_error;
1382: END IF;
1383:
1384:
1385: Validate_Additional_Attr(
1404:
1405: IF g_debug = 1 THEN
1406: print_debug('Program VALIDATE_ADDITIONAL_ATTR return ' || l_return_status, 9);
1407: END IF;
1408: IF l_return_status = fnd_api.g_ret_sts_error THEN
1409: IF g_debug = 1 THEN
1410: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a user defined exception', 9);
1411: END IF;
1412: RAISE fnd_api.g_exc_error;
1408: IF l_return_status = fnd_api.g_ret_sts_error THEN
1409: IF g_debug = 1 THEN
1410: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a user defined exception', 9);
1411: END IF;
1412: RAISE fnd_api.g_exc_error;
1413: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1414: IF g_debug = 1 THEN
1415: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a Unexpected exception', 9);
1416: END IF;
1409: IF g_debug = 1 THEN
1410: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a user defined exception', 9);
1411: END IF;
1412: RAISE fnd_api.g_exc_error;
1413: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1414: IF g_debug = 1 THEN
1415: print_debug('Program VALIDATE_ADDITIONAL_ATTR has failed with a Unexpected exception', 9);
1416: END IF;
1417: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1416: END IF;
1417: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1418: FND_MESSAGE.SET_TOKEN('PROG_NAME','VALIDATE_ADDITIONAL_ATTR');
1419: fnd_msg_pub.ADD;
1420: RAISE fnd_api.g_exc_unexpected_error;
1421: END IF;
1422:
1423:
1424: /* Fetch data from the input tabels and fill the appropriate records*/
1570: print_debug('End of the program Validate_Lot_Attributes. Program has completed successfully ', 9);
1571:
1572: EXCEPTION
1573: WHEN NO_DATA_FOUND THEN
1574: x_return_status := fnd_api.g_ret_sts_error;
1575: ROLLBACK TO inv_val_lot ;
1576: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1577: if( x_msg_count > 1 ) then
1578: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1572: EXCEPTION
1573: WHEN NO_DATA_FOUND THEN
1574: x_return_status := fnd_api.g_ret_sts_error;
1575: ROLLBACK TO inv_val_lot ;
1576: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1577: if( x_msg_count > 1 ) then
1578: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1579: end if;
1580: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1574: x_return_status := fnd_api.g_ret_sts_error;
1575: ROLLBACK TO inv_val_lot ;
1576: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1577: if( x_msg_count > 1 ) then
1578: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1579: end if;
1580: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1581: WHEN fnd_api.g_exc_error THEN
1582: x_return_status := fnd_api.g_ret_sts_error;
1577: if( x_msg_count > 1 ) then
1578: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1579: end if;
1580: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1581: WHEN fnd_api.g_exc_error THEN
1582: x_return_status := fnd_api.g_ret_sts_error;
1583: ROLLBACK TO inv_val_lot ;
1584: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1585: if( x_msg_count > 1 ) then
1578: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1579: end if;
1580: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1581: WHEN fnd_api.g_exc_error THEN
1582: x_return_status := fnd_api.g_ret_sts_error;
1583: ROLLBACK TO inv_val_lot ;
1584: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1585: if( x_msg_count > 1 ) then
1586: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1580: print_debug('In No data found Validate_Lot_Attributes ' || SQLERRM, 9);
1581: WHEN fnd_api.g_exc_error THEN
1582: x_return_status := fnd_api.g_ret_sts_error;
1583: ROLLBACK TO inv_val_lot ;
1584: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1585: if( x_msg_count > 1 ) then
1586: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1587: end if;
1588: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1582: x_return_status := fnd_api.g_ret_sts_error;
1583: ROLLBACK TO inv_val_lot ;
1584: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1585: if( x_msg_count > 1 ) then
1586: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1587: end if;
1588: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1589: WHEN fnd_api.g_exc_unexpected_error THEN
1590: x_return_status := fnd_api.g_ret_sts_unexp_error;
1585: if( x_msg_count > 1 ) then
1586: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1587: end if;
1588: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1589: WHEN fnd_api.g_exc_unexpected_error THEN
1590: x_return_status := fnd_api.g_ret_sts_unexp_error;
1591: ROLLBACK TO inv_val_lot ;
1592: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1593: if( x_msg_count > 1 ) then
1586: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1587: end if;
1588: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1589: WHEN fnd_api.g_exc_unexpected_error THEN
1590: x_return_status := fnd_api.g_ret_sts_unexp_error;
1591: ROLLBACK TO inv_val_lot ;
1592: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1593: if( x_msg_count > 1 ) then
1594: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1588: print_debug('In g_exc_error Validate_Lot_Attributes ' || SQLERRM, 9);
1589: WHEN fnd_api.g_exc_unexpected_error THEN
1590: x_return_status := fnd_api.g_ret_sts_unexp_error;
1591: ROLLBACK TO inv_val_lot ;
1592: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1593: if( x_msg_count > 1 ) then
1594: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1595: end if;
1596: print_debug('In g_exc_unexpected_error Validate_Lot_Attributes ' || SQLERRM, 9);
1590: x_return_status := fnd_api.g_ret_sts_unexp_error;
1591: ROLLBACK TO inv_val_lot ;
1592: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1593: if( x_msg_count > 1 ) then
1594: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1595: end if;
1596: print_debug('In g_exc_unexpected_error Validate_Lot_Attributes ' || SQLERRM, 9);
1597: WHEN OTHERS THEN
1598: x_return_status := fnd_api.g_ret_sts_unexp_error;
1594: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1595: end if;
1596: print_debug('In g_exc_unexpected_error Validate_Lot_Attributes ' || SQLERRM, 9);
1597: WHEN OTHERS THEN
1598: x_return_status := fnd_api.g_ret_sts_unexp_error;
1599: ROLLBACK TO inv_val_lot ;
1600: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1601: if( x_msg_count > 1 ) then
1602: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1596: print_debug('In g_exc_unexpected_error Validate_Lot_Attributes ' || SQLERRM, 9);
1597: WHEN OTHERS THEN
1598: x_return_status := fnd_api.g_ret_sts_unexp_error;
1599: ROLLBACK TO inv_val_lot ;
1600: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1601: if( x_msg_count > 1 ) then
1602: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1603: end if;
1604: print_debug('In others Validate_Lot_Attributes ' || SQLERRM, 9);
1598: x_return_status := fnd_api.g_ret_sts_unexp_error;
1599: ROLLBACK TO inv_val_lot ;
1600: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
1601: if( x_msg_count > 1 ) then
1602: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
1603: end if;
1604: print_debug('In others Validate_Lot_Attributes ' || SQLERRM, 9);
1605:
1606: END Validate_Lot_Attributes ;
1656: l_lot_cont BOOLEAN ;
1657: l_child_lot_cont BOOLEAN ;
1658:
1659: BEGIN
1660: x_return_status := fnd_api.g_ret_sts_success;
1661: SAVEPOINT val_lot_attr_information;
1662:
1663: l_api_version := 1.0;
1664: l_init_msg_list := fnd_api.g_false;
1660: x_return_status := fnd_api.g_ret_sts_success;
1661: SAVEPOINT val_lot_attr_information;
1662:
1663: l_api_version := 1.0;
1664: l_init_msg_list := fnd_api.g_false;
1665: l_commit := fnd_api.g_false;
1666:
1667: /******************* START Item validation ********************/
1668:
1661: SAVEPOINT val_lot_attr_information;
1662:
1663: l_api_version := 1.0;
1664: l_init_msg_list := fnd_api.g_false;
1665: l_commit := fnd_api.g_false;
1666:
1667: /******************* START Item validation ********************/
1668:
1669: l_lot_cont := FALSE ;
1683: IF g_debug = 1 THEN
1684: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
1685: END IF;
1686:
1687: IF l_return_status = fnd_api.g_ret_sts_error THEN
1688: IF g_debug = 1 THEN
1689: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
1690: END IF;
1691: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
1690: END IF;
1691: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
1692: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
1693: FND_MSG_PUB.ADD;
1694: RAISE fnd_api.g_exc_error;
1695: END IF;
1696:
1697: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1698: IF g_debug = 1 THEN
1693: FND_MSG_PUB.ADD;
1694: RAISE fnd_api.g_exc_error;
1695: END IF;
1696:
1697: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1698: IF g_debug = 1 THEN
1699: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
1700: END IF;
1701: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1700: END IF;
1701: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1702: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
1703: fnd_msg_pub.ADD;
1704: RAISE fnd_api.g_exc_unexpected_error;
1705: END IF;
1706:
1707: IF (l_lot_cont = FALSE) THEN
1708: IF g_debug = 1 THEN
1709: print_debug(' Item is not lot controlled ', 9);
1710: END IF;
1711: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
1712: fnd_msg_pub.ADD;
1713: x_return_status := fnd_api.g_ret_sts_error;
1714: RAISE fnd_api.g_exc_error;
1715: END IF ;
1716:
1717: IF (l_child_lot_cont = FALSE AND p_parent_lot_number IS NOT NULL) THEN
1710: END IF;
1711: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
1712: fnd_msg_pub.ADD;
1713: x_return_status := fnd_api.g_ret_sts_error;
1714: RAISE fnd_api.g_exc_error;
1715: END IF ;
1716:
1717: IF (l_child_lot_cont = FALSE AND p_parent_lot_number IS NOT NULL) THEN
1718:
1720: print_debug(' Item is not Child lot controlled ', 9);
1721: END IF;
1722: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
1723: fnd_msg_pub.ADD;
1724: x_return_status := fnd_api.g_ret_sts_error;
1725: RAISE fnd_api.g_exc_error;
1726: END IF ;
1727: /******************* End Item validation ********************/
1728:
1721: END IF;
1722: fnd_message.set_name('INV', 'INV_ITEM_CLOT_DISABLE_EXP');
1723: fnd_msg_pub.ADD;
1724: x_return_status := fnd_api.g_ret_sts_error;
1725: RAISE fnd_api.g_exc_error;
1726: END IF ;
1727: /******************* End Item validation ********************/
1728:
1729: /******************* START Parent lot validation logic ********************/
1753: IF g_debug = 1 THEN
1754: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT return ' || l_return_status, 9);
1755: END IF;
1756:
1757: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1758: IF g_debug = 1 THEN
1759: print_debug('Program Inv_lot_api_pub.VALIDATE_CHILD_LOT has failed with a Unexpected exception', 9);
1760: END IF;
1761: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1760: END IF;
1761: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1762: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pub.VALIDATE_CHILD_LOT');
1763: fnd_msg_pub.ADD;
1764: RAISE fnd_api.g_exc_unexpected_error;
1765: END IF;
1766:
1767: IF l_return_status = fnd_api.g_ret_sts_error THEN
1768: IF g_debug = 1 THEN
1763: fnd_msg_pub.ADD;
1764: RAISE fnd_api.g_exc_unexpected_error;
1765: END IF;
1766:
1767: IF l_return_status = fnd_api.g_ret_sts_error THEN
1768: IF g_debug = 1 THEN
1769: print_debug('Invalid child lot Naming convention', 9);
1770: END IF;
1771:
1770: END IF;
1771:
1772: fnd_message.set_name('INV', 'INV_INVALID_CHILD_LOT_EXP') ;
1773: fnd_msg_pub.ADD;
1774: RAISE fnd_api.g_exc_error;
1775: END IF;
1776: END IF ; -- parent_lot check
1777: ELSE
1778: CLOSE c_get_lot_record;
1784: END IF;
1785:
1786: fnd_message.set_name('INV', 'INV_INVALID_PARENT_LOT_EXP') ;
1787: fnd_msg_pub.ADD;
1788: RAISE fnd_api.g_exc_error;
1789: END IF;
1790: END IF;
1791: END IF; /* Check Lot */
1792: /******************* END Parent lot validation logic ********************/
1805: IF res = FALSE THEN
1806: IF g_debug = 1 THEN
1807: print_debug('Invalid Origination Type value '|| p_origination_type, 9);
1808: END IF;
1809: RAISE fnd_api.g_exc_error;
1810: END IF;
1811: IF g_debug = 1 THEN
1812: print_debug('Program Inv_Lot_Attr_Pub.validate_origination_type ' || l_return_status, 9);
1813: END IF;
1810: END IF;
1811: IF g_debug = 1 THEN
1812: print_debug('Program Inv_Lot_Attr_Pub.validate_origination_type ' || l_return_status, 9);
1813: END IF;
1814: IF l_return_status = fnd_api.g_ret_sts_error THEN
1815: IF g_debug = 1 THEN
1816: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a user defined exception', 9);
1817: END IF;
1818: RAISE fnd_api.g_exc_error;
1814: IF l_return_status = fnd_api.g_ret_sts_error THEN
1815: IF g_debug = 1 THEN
1816: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a user defined exception', 9);
1817: END IF;
1818: RAISE fnd_api.g_exc_error;
1819: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1820: IF g_debug = 1 THEN
1821: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a Unexpected exception', 9);
1822: END IF;
1815: IF g_debug = 1 THEN
1816: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a user defined exception', 9);
1817: END IF;
1818: RAISE fnd_api.g_exc_error;
1819: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1820: IF g_debug = 1 THEN
1821: print_debug('Program INV_LOT_ATTR_PUB.validate_origination_type has failed with a Unexpected exception', 9);
1822: END IF;
1823: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1822: END IF;
1823: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1824: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
1825: FND_MSG_PUB.ADD;
1826: RAISE fnd_api.g_exc_unexpected_error;
1827: END IF;
1828:
1829:
1830:
1846: IF res = FALSE THEN
1847: IF g_debug = 1 THEN
1848: print_debug('Invalid Grade Code value '|| p_grade_code, 9);
1849: END IF;
1850: RAISE fnd_api.g_exc_error;
1851: END IF;
1852: IF g_debug = 1 THEN
1853: print_debug('Program Inv_Lot_Attr_Pub.validate_grade_code ' || l_return_status, 9);
1854: END IF;
1851: END IF;
1852: IF g_debug = 1 THEN
1853: print_debug('Program Inv_Lot_Attr_Pub.validate_grade_code ' || l_return_status, 9);
1854: END IF;
1855: IF l_return_status = fnd_api.g_ret_sts_error THEN
1856: IF g_debug = 1 THEN
1857: print_debug('Program INV_LOT_ATTR_PUB.validate_grade_code has failed with a user defined exception', 9);
1858: END IF;
1859: RAISE g_exc_error;
1856: IF g_debug = 1 THEN
1857: print_debug('Program INV_LOT_ATTR_PUB.validate_grade_code has failed with a user defined exception', 9);
1858: END IF;
1859: RAISE g_exc_error;
1860: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1861: IF g_debug = 1 THEN
1862: print_debug('Program INV_LOT_ATTR_PUB.validate_grade_code has failed with a Unexpected exception', 9);
1863: END IF;
1864: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1863: END IF;
1864: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1865: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
1866: FND_MSG_PUB.ADD;
1867: RAISE fnd_api.g_exc_unexpected_error;
1868: END IF;
1869:
1870:
1871: /******************* END Grade Code validation logic ********************/
1886: IF res = FALSE THEN
1887: IF g_debug = 1 THEN
1888: print_debug('Invalid Expiration Action Code value '|| p_expiration_action_code, 9);
1889: END IF;
1890: RAISE fnd_api.g_exc_error;
1891: END IF;
1892: IF g_debug = 1 THEN
1893: print_debug('Program Inv_Lot_Attr_Pub.validate_exp_action_code ' || l_return_status, 9);
1894: END IF;
1891: END IF;
1892: IF g_debug = 1 THEN
1893: print_debug('Program Inv_Lot_Attr_Pub.validate_exp_action_code ' || l_return_status, 9);
1894: END IF;
1895: IF l_return_status = fnd_api.g_ret_sts_error THEN
1896: IF g_debug = 1 THEN
1897: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a user defined exception', 9);
1898: END IF;
1899: RAISE fnd_api.g_exc_error;
1895: IF l_return_status = fnd_api.g_ret_sts_error THEN
1896: IF g_debug = 1 THEN
1897: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a user defined exception', 9);
1898: END IF;
1899: RAISE fnd_api.g_exc_error;
1900: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1901: IF g_debug = 1 THEN
1902: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a Unexpected exception', 9);
1903: END IF;
1896: IF g_debug = 1 THEN
1897: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a user defined exception', 9);
1898: END IF;
1899: RAISE fnd_api.g_exc_error;
1900: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1901: IF g_debug = 1 THEN
1902: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_code has failed with a Unexpected exception', 9);
1903: END IF;
1904: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1903: END IF;
1904: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1905: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
1906: FND_MSG_PUB.ADD;
1907: RAISE fnd_api.g_exc_unexpected_error;
1908: END IF;
1909:
1910:
1911:
1933: IF res = FALSE THEN
1934: IF g_debug = 1 THEN
1935: print_debug('Invalid Expiration Action Date value '|| p_expiration_action_date, 9);
1936: END IF;
1937: RAISE fnd_api.g_exc_error;
1938: END IF;
1939: IF g_debug = 1 THEN
1940: print_debug('Program Inv_Lot_Attr_Pub.validate_exp_action_date ' || l_return_status, 9);
1941: END IF;
1938: END IF;
1939: IF g_debug = 1 THEN
1940: print_debug('Program Inv_Lot_Attr_Pub.validate_exp_action_date ' || l_return_status, 9);
1941: END IF;
1942: IF l_return_status = fnd_api.g_ret_sts_error THEN
1943: IF g_debug = 1 THEN
1944: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a user defined exception', 9);
1945: END IF;
1946: RAISE fnd_api.g_exc_error;
1942: IF l_return_status = fnd_api.g_ret_sts_error THEN
1943: IF g_debug = 1 THEN
1944: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a user defined exception', 9);
1945: END IF;
1946: RAISE fnd_api.g_exc_error;
1947: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1948: IF g_debug = 1 THEN
1949: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a Unexpected exception', 9);
1950: END IF;
1943: IF g_debug = 1 THEN
1944: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a user defined exception', 9);
1945: END IF;
1946: RAISE fnd_api.g_exc_error;
1947: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1948: IF g_debug = 1 THEN
1949: print_debug('Program INV_LOT_ATTR_PUB.validate_exp_action_date has failed with a Unexpected exception', 9);
1950: END IF;
1951: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1950: END IF;
1951: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1952: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
1953: FND_MSG_PUB.ADD;
1954: RAISE fnd_api.g_exc_unexpected_error;
1955: END IF;
1956: END IF ; -- Check for positive expiration action interval
1957: END IF ; -- Cursor If
1958: CLOSE c_get_item_info;
1976: IF res = FALSE THEN
1977: IF g_debug = 1 THEN
1978: print_debug('Invalid Retest Date value '|| p_retest_date, 9);
1979: END IF;
1980: RAISE fnd_api.g_exc_error;
1981: END IF;
1982: IF g_debug = 1 THEN
1983: print_debug('Program Inv_Lot_Attr_Pub.validate_retest_date ' || l_return_status, 9);
1984: END IF;
1981: END IF;
1982: IF g_debug = 1 THEN
1983: print_debug('Program Inv_Lot_Attr_Pub.validate_retest_date ' || l_return_status, 9);
1984: END IF;
1985: IF l_return_status = fnd_api.g_ret_sts_error THEN
1986: IF g_debug = 1 THEN
1987: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a user defined exception', 9);
1988: END IF;
1989: RAISE fnd_api.g_exc_error;
1985: IF l_return_status = fnd_api.g_ret_sts_error THEN
1986: IF g_debug = 1 THEN
1987: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a user defined exception', 9);
1988: END IF;
1989: RAISE fnd_api.g_exc_error;
1990: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1991: IF g_debug = 1 THEN
1992: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a Unexpected exception', 9);
1993: END IF;
1986: IF g_debug = 1 THEN
1987: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a user defined exception', 9);
1988: END IF;
1989: RAISE fnd_api.g_exc_error;
1990: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
1991: IF g_debug = 1 THEN
1992: print_debug('Program INV_LOT_ATTR_PUB.validate_retest_date has failed with a Unexpected exception', 9);
1993: END IF;
1994: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1993: END IF;
1994: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
1995: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
1996: FND_MSG_PUB.ADD;
1997: RAISE fnd_api.g_exc_unexpected_error;
1998: END IF;
1999:
2000:
2001:
2015: IF res = FALSE THEN
2016: IF g_debug = 1 THEN
2017: print_debug('Invalid Maturity Date value '|| p_maturity_date, 9);
2018: END IF;
2019: RAISE fnd_api.g_exc_error;
2020: END IF;
2021: IF g_debug = 1 THEN
2022: print_debug('Program Inv_Lot_Attr_Pub.validate_maturity_date ' || l_return_status, 9);
2023: END IF;
2020: END IF;
2021: IF g_debug = 1 THEN
2022: print_debug('Program Inv_Lot_Attr_Pub.validate_maturity_date ' || l_return_status, 9);
2023: END IF;
2024: IF l_return_status = fnd_api.g_ret_sts_error THEN
2025: IF g_debug = 1 THEN
2026: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a user defined exception', 9);
2027: END IF;
2028: RAISE fnd_api.g_exc_error;
2024: IF l_return_status = fnd_api.g_ret_sts_error THEN
2025: IF g_debug = 1 THEN
2026: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a user defined exception', 9);
2027: END IF;
2028: RAISE fnd_api.g_exc_error;
2029: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2030: IF g_debug = 1 THEN
2031: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a Unexpected exception', 9);
2032: END IF;
2025: IF g_debug = 1 THEN
2026: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a user defined exception', 9);
2027: END IF;
2028: RAISE fnd_api.g_exc_error;
2029: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2030: IF g_debug = 1 THEN
2031: print_debug('Program INV_LOT_ATTR_PUB.validate_maturity_date has failed with a Unexpected exception', 9);
2032: END IF;
2033: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2032: END IF;
2033: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2034: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
2035: FND_MSG_PUB.ADD;
2036: RAISE fnd_api.g_exc_unexpected_error;
2037: END IF;
2038:
2039:
2040:
2054: IF res = FALSE THEN
2055: IF g_debug = 1 THEN
2056: print_debug('Invalid Hold Date value '|| p_hold_date, 9);
2057: END IF;
2058: RAISE fnd_api.g_exc_error;
2059: END IF;
2060: IF g_debug = 1 THEN
2061: print_debug('Program Inv_Lot_Attr_Pub.validate_hold_date ' || l_return_status, 9);
2062: END IF;
2059: END IF;
2060: IF g_debug = 1 THEN
2061: print_debug('Program Inv_Lot_Attr_Pub.validate_hold_date ' || l_return_status, 9);
2062: END IF;
2063: IF l_return_status = fnd_api.g_ret_sts_error THEN
2064: IF g_debug = 1 THEN
2065: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a user defined exception', 9);
2066: END IF;
2067: RAISE fnd_api.g_exc_error;
2063: IF l_return_status = fnd_api.g_ret_sts_error THEN
2064: IF g_debug = 1 THEN
2065: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a user defined exception', 9);
2066: END IF;
2067: RAISE fnd_api.g_exc_error;
2068: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2069: IF g_debug = 1 THEN
2070: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a Unexpected exception', 9);
2071: END IF;
2064: IF g_debug = 1 THEN
2065: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a user defined exception', 9);
2066: END IF;
2067: RAISE fnd_api.g_exc_error;
2068: ELSIF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2069: IF g_debug = 1 THEN
2070: print_debug('Program INV_LOT_ATTR_PUB.validate_hold_date has failed with a Unexpected exception', 9);
2071: END IF;
2072: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2071: END IF;
2072: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2073: FND_MESSAGE.SET_TOKEN('PROG_NAME','INV_LOT_ATTR_PUB. ');
2074: FND_MSG_PUB.ADD;
2075: RAISE fnd_api.g_exc_unexpected_error;
2076: END IF;
2077:
2078:
2079: /******************* END Hold Date validation logic ********************/
2081: /******************* END Perform Date validation logic ********************/
2082:
2083: EXCEPTION
2084: WHEN NO_DATA_FOUND THEN
2085: x_return_status := fnd_api.g_ret_sts_error;
2086: ROLLBACK TO val_lot_attr_information;
2087: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2088: if( x_msg_count > 1 ) then
2089: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2083: EXCEPTION
2084: WHEN NO_DATA_FOUND THEN
2085: x_return_status := fnd_api.g_ret_sts_error;
2086: ROLLBACK TO val_lot_attr_information;
2087: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2088: if( x_msg_count > 1 ) then
2089: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2090: end if;
2091: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2085: x_return_status := fnd_api.g_ret_sts_error;
2086: ROLLBACK TO val_lot_attr_information;
2087: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2088: if( x_msg_count > 1 ) then
2089: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2090: end if;
2091: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2092: WHEN fnd_api.g_exc_error THEN
2093: x_return_status := fnd_api.g_ret_sts_error;
2088: if( x_msg_count > 1 ) then
2089: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2090: end if;
2091: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2092: WHEN fnd_api.g_exc_error THEN
2093: x_return_status := fnd_api.g_ret_sts_error;
2094: ROLLBACK TO val_lot_attr_information;
2095: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2096: if( x_msg_count > 1 ) then
2089: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2090: end if;
2091: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2092: WHEN fnd_api.g_exc_error THEN
2093: x_return_status := fnd_api.g_ret_sts_error;
2094: ROLLBACK TO val_lot_attr_information;
2095: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2096: if( x_msg_count > 1 ) then
2097: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2091: print_debug('In No data found Validate_Additional_Attr ' || SQLERRM, 9);
2092: WHEN fnd_api.g_exc_error THEN
2093: x_return_status := fnd_api.g_ret_sts_error;
2094: ROLLBACK TO val_lot_attr_information;
2095: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2096: if( x_msg_count > 1 ) then
2097: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2098: end if;
2099: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2093: x_return_status := fnd_api.g_ret_sts_error;
2094: ROLLBACK TO val_lot_attr_information;
2095: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2096: if( x_msg_count > 1 ) then
2097: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2098: end if;
2099: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2100: WHEN fnd_api.g_exc_unexpected_error THEN
2101: x_return_status := fnd_api.g_ret_sts_unexp_error;
2096: if( x_msg_count > 1 ) then
2097: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2098: end if;
2099: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2100: WHEN fnd_api.g_exc_unexpected_error THEN
2101: x_return_status := fnd_api.g_ret_sts_unexp_error;
2102: ROLLBACK TO val_lot_attr_information;
2103: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2104: if( x_msg_count > 1 ) then
2097: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2098: end if;
2099: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2100: WHEN fnd_api.g_exc_unexpected_error THEN
2101: x_return_status := fnd_api.g_ret_sts_unexp_error;
2102: ROLLBACK TO val_lot_attr_information;
2103: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2104: if( x_msg_count > 1 ) then
2105: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2099: print_debug('In g_exc_error Validate_Additional_Attr ' || SQLERRM, 9);
2100: WHEN fnd_api.g_exc_unexpected_error THEN
2101: x_return_status := fnd_api.g_ret_sts_unexp_error;
2102: ROLLBACK TO val_lot_attr_information;
2103: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2104: if( x_msg_count > 1 ) then
2105: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2106: end if;
2107: print_debug('In g_exc_unexpected_error Validate_Additional_Attr ' || SQLERRM, 9);
2101: x_return_status := fnd_api.g_ret_sts_unexp_error;
2102: ROLLBACK TO val_lot_attr_information;
2103: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2104: if( x_msg_count > 1 ) then
2105: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2106: end if;
2107: print_debug('In g_exc_unexpected_error Validate_Additional_Attr ' || SQLERRM, 9);
2108: WHEN OTHERS THEN
2109: x_return_status := fnd_api.g_ret_sts_unexp_error;
2105: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2106: end if;
2107: print_debug('In g_exc_unexpected_error Validate_Additional_Attr ' || SQLERRM, 9);
2108: WHEN OTHERS THEN
2109: x_return_status := fnd_api.g_ret_sts_unexp_error;
2110: ROLLBACK TO val_lot_attr_information;
2111: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2112: if( x_msg_count > 1 ) then
2113: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2107: print_debug('In g_exc_unexpected_error Validate_Additional_Attr ' || SQLERRM, 9);
2108: WHEN OTHERS THEN
2109: x_return_status := fnd_api.g_ret_sts_unexp_error;
2110: ROLLBACK TO val_lot_attr_information;
2111: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2112: if( x_msg_count > 1 ) then
2113: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2114: end if;
2115: print_debug('In others Validate_Additional_Attr ' || SQLERRM, 9);
2109: x_return_status := fnd_api.g_ret_sts_unexp_error;
2110: ROLLBACK TO val_lot_attr_information;
2111: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2112: if( x_msg_count > 1 ) then
2113: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2114: end if;
2115: print_debug('In others Validate_Additional_Attr ' || SQLERRM, 9);
2116:
2117: END Validate_Additional_Attr;
2160:
2161: BEGIN
2162:
2163: SAVEPOINT inv_delete_lot ;
2164: x_return_status := fnd_api.g_ret_sts_success;
2165:
2166: /*Basic Validations - Start*/
2167: IF p_organization_id IS NULL THEN
2168: IF g_debug = 1 THEN
2169: print_debug('Value for mandatory field organization id cannot be null.', 9);
2170: END IF;
2171: fnd_message.set_name('INV', 'INV_NULL_ORG_EXP') ;
2172: fnd_msg_pub.ADD;
2173: RAISE fnd_api.g_exc_error;
2174: END IF ;
2175:
2176: IF p_inventory_item_id IS NULL THEN
2177: IF g_debug = 1 THEN
2178: print_debug('Value for mandatory field inventory item id cannot be null.', 9);
2179: END IF;
2180: fnd_message.set_name('INV', 'INV_INVALID_ITEM') ;
2181: fnd_msg_pub.ADD;
2182: RAISE fnd_api.g_exc_error;
2183: END IF ;
2184:
2185: IF p_lot_number IS NULL THEN
2186: IF g_debug = 1 THEN
2187: print_debug('Value for mandatory field Lot Number cannot be null', 9);
2188: END IF;
2189: fnd_message.set_name('INV', 'INV_NULL_CLOT_EXP');
2190: fnd_msg_pub.ADD;
2191: RAISE fnd_api.g_exc_error;
2192: END IF;
2193: /*Basic Validations - End*/
2194:
2195: /******************* START Item validation ********************/
2211: IF g_debug = 1 THEN
2212: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes return ' || l_return_status, 9);
2213: END IF;
2214:
2215: IF l_return_status = fnd_api.g_ret_sts_error THEN
2216: IF g_debug = 1 THEN
2217: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with error', 9);
2218: END IF;
2219: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
2218: END IF;
2219: FND_MESSAGE.SET_NAME('INV', 'INV_PROGRAM_ERROR') ;
2220: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
2221: FND_MSG_PUB.ADD;
2222: RAISE fnd_api.g_exc_error;
2223: END IF;
2224:
2225: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2226: IF g_debug = 1 THEN
2221: FND_MSG_PUB.ADD;
2222: RAISE fnd_api.g_exc_error;
2223: END IF;
2224:
2225: IF l_return_status = fnd_api.g_ret_sts_unexp_error THEN
2226: IF g_debug = 1 THEN
2227: print_debug('Program Inv_lot_api_pkg.Check_Item_Attributes has failed with a Unexpected exception', 9);
2228: END IF;
2229: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2228: END IF;
2229: FND_MESSAGE.SET_NAME('INV','INV_PROGRAM_ERROR');
2230: FND_MESSAGE.SET_TOKEN('PROG_NAME','Inv_lot_api_pkg.Check_Item_Attributes');
2231: fnd_msg_pub.ADD;
2232: RAISE fnd_api.g_exc_unexpected_error;
2233: END IF;
2234:
2235: IF (l_lot_cont = FALSE) THEN
2236: IF g_debug = 1 THEN
2237: print_debug(' Item is not lot controlled ', 9);
2238: END IF;
2239: fnd_message.set_name('INV', 'INV_NO_LOT_CONTROL');
2240: fnd_msg_pub.ADD;
2241: x_return_status := fnd_api.g_ret_sts_error;
2242: RAISE g_exc_error;
2243: END IF ;
2244:
2245: /******************* End Item validation ********************/
2299: END IF;
2300:
2301: EXCEPTION
2302: WHEN NO_DATA_FOUND THEN
2303: x_return_status := fnd_api.g_ret_sts_error;
2304: ROLLBACK TO inv_delete_lot;
2305: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2306: if( x_msg_count > 1 ) then
2307: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2301: EXCEPTION
2302: WHEN NO_DATA_FOUND THEN
2303: x_return_status := fnd_api.g_ret_sts_error;
2304: ROLLBACK TO inv_delete_lot;
2305: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2306: if( x_msg_count > 1 ) then
2307: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2308: end if;
2309: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2303: x_return_status := fnd_api.g_ret_sts_error;
2304: ROLLBACK TO inv_delete_lot;
2305: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2306: if( x_msg_count > 1 ) then
2307: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2308: end if;
2309: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2310: WHEN fnd_api.g_exc_error THEN
2311: x_return_status := fnd_api.g_ret_sts_error;
2306: if( x_msg_count > 1 ) then
2307: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2308: end if;
2309: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2310: WHEN fnd_api.g_exc_error THEN
2311: x_return_status := fnd_api.g_ret_sts_error;
2312: ROLLBACK TO inv_delete_lot;
2313: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2314: if( x_msg_count > 1 ) then
2307: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2308: end if;
2309: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2310: WHEN fnd_api.g_exc_error THEN
2311: x_return_status := fnd_api.g_ret_sts_error;
2312: ROLLBACK TO inv_delete_lot;
2313: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2314: if( x_msg_count > 1 ) then
2315: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2309: print_debug('In Delete_Lot, No data found ' || SQLERRM, 9);
2310: WHEN fnd_api.g_exc_error THEN
2311: x_return_status := fnd_api.g_ret_sts_error;
2312: ROLLBACK TO inv_delete_lot;
2313: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2314: if( x_msg_count > 1 ) then
2315: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2316: end if;
2317: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2311: x_return_status := fnd_api.g_ret_sts_error;
2312: ROLLBACK TO inv_delete_lot;
2313: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2314: if( x_msg_count > 1 ) then
2315: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2316: end if;
2317: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2318: WHEN fnd_api.g_exc_unexpected_error THEN
2319: x_return_status := fnd_api.g_ret_sts_unexp_error;
2314: if( x_msg_count > 1 ) then
2315: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2316: end if;
2317: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2318: WHEN fnd_api.g_exc_unexpected_error THEN
2319: x_return_status := fnd_api.g_ret_sts_unexp_error;
2320: ROLLBACK TO inv_delete_lot;
2321: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2322: if( x_msg_count > 1 ) then
2315: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2316: end if;
2317: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2318: WHEN fnd_api.g_exc_unexpected_error THEN
2319: x_return_status := fnd_api.g_ret_sts_unexp_error;
2320: ROLLBACK TO inv_delete_lot;
2321: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2322: if( x_msg_count > 1 ) then
2323: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2317: print_debug('In Delete_Lot, g_exc_error ' || SQLERRM, 9);
2318: WHEN fnd_api.g_exc_unexpected_error THEN
2319: x_return_status := fnd_api.g_ret_sts_unexp_error;
2320: ROLLBACK TO inv_delete_lot;
2321: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2322: if( x_msg_count > 1 ) then
2323: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2324: end if;
2325: print_debug('In Delete_Lot, g_exc_unexpected_error ' || SQLERRM, 9);
2319: x_return_status := fnd_api.g_ret_sts_unexp_error;
2320: ROLLBACK TO inv_delete_lot;
2321: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2322: if( x_msg_count > 1 ) then
2323: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2324: end if;
2325: print_debug('In Delete_Lot, g_exc_unexpected_error ' || SQLERRM, 9);
2326: WHEN OTHERS THEN
2327: x_return_status := fnd_api.g_ret_sts_unexp_error;
2323: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2324: end if;
2325: print_debug('In Delete_Lot, g_exc_unexpected_error ' || SQLERRM, 9);
2326: WHEN OTHERS THEN
2327: x_return_status := fnd_api.g_ret_sts_unexp_error;
2328: ROLLBACK TO inv_delete_lot;
2329: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2330: if( x_msg_count > 1 ) then
2331: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2325: print_debug('In Delete_Lot, g_exc_unexpected_error ' || SQLERRM, 9);
2326: WHEN OTHERS THEN
2327: x_return_status := fnd_api.g_ret_sts_unexp_error;
2328: ROLLBACK TO inv_delete_lot;
2329: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2330: if( x_msg_count > 1 ) then
2331: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2332: end if;
2333: print_debug('In Delete_Lot, Others ' || SQLERRM, 9);
2327: x_return_status := fnd_api.g_ret_sts_unexp_error;
2328: ROLLBACK TO inv_delete_lot;
2329: fnd_msg_pub.count_and_get(p_encoded => fnd_api.g_false, p_count => x_msg_count, p_data => x_msg_data);
2330: if( x_msg_count > 1 ) then
2331: x_msg_data := fnd_msg_pub.get(x_msg_count, FND_API.G_FALSE);
2332: end if;
2333: print_debug('In Delete_Lot, Others ' || SQLERRM, 9);
2334:
2335: END Delete_Lot;