18:
19: PROCEDURE get_pending_lot
20: (p_material_detail_id IN NUMBER
21: ,x_return_status OUT NOCOPY VARCHAR2
22: ,x_pending_product_lot_tbl OUT NOCOPY gme_common_pvt.pending_lots_tab) IS
23:
24: CURSOR cur_get_lots (v_mtl_dtl_id NUMBER) IS
25: SELECT *
26: FROM gme_pending_product_lots
91: END IF;
92:
93: /*UPDATE gme_pending_product_lots
94: SET quantity = 0,
95: last_updated_by = gme_common_pvt.g_user_ident,
96: last_update_date = gme_common_pvt.g_timestamp,
97: last_update_login = gme_common_pvt.g_login_id
98: WHERE pending_product_lot_id = p_pending_lot_id;
99:
92:
93: /*UPDATE gme_pending_product_lots
94: SET quantity = 0,
95: last_updated_by = gme_common_pvt.g_user_ident,
96: last_update_date = gme_common_pvt.g_timestamp,
97: last_update_login = gme_common_pvt.g_login_id
98: WHERE pending_product_lot_id = p_pending_lot_id;
99:
100: IF l_sec_qty IS NOT NULL THEN
93: /*UPDATE gme_pending_product_lots
94: SET quantity = 0,
95: last_updated_by = gme_common_pvt.g_user_ident,
96: last_update_date = gme_common_pvt.g_timestamp,
97: last_update_login = gme_common_pvt.g_login_id
98: WHERE pending_product_lot_id = p_pending_lot_id;
99:
100: IF l_sec_qty IS NOT NULL THEN
101: UPDATE gme_pending_product_lots
104: END IF; -- IF l_sec_qty IS NOT NULL THEN */
105: ELSE
106: UPDATE gme_pending_product_lots
107: SET quantity = quantity - p_quantity,
108: last_updated_by = gme_common_pvt.g_user_ident,
109: last_update_date = gme_common_pvt.g_timestamp,
110: last_update_login = gme_common_pvt.g_login_id
111: WHERE pending_product_lot_id = p_pending_lot_id;
112:
105: ELSE
106: UPDATE gme_pending_product_lots
107: SET quantity = quantity - p_quantity,
108: last_updated_by = gme_common_pvt.g_user_ident,
109: last_update_date = gme_common_pvt.g_timestamp,
110: last_update_login = gme_common_pvt.g_login_id
111: WHERE pending_product_lot_id = p_pending_lot_id;
112:
113: IF l_sec_qty IS NOT NULL THEN
106: UPDATE gme_pending_product_lots
107: SET quantity = quantity - p_quantity,
108: last_updated_by = gme_common_pvt.g_user_ident,
109: last_update_date = gme_common_pvt.g_timestamp,
110: last_update_login = gme_common_pvt.g_login_id
111: WHERE pending_product_lot_id = p_pending_lot_id;
112:
113: IF l_sec_qty IS NOT NULL THEN
114: UPDATE gme_pending_product_lots
135: PROCEDURE create_product_lot
136: (p_organization_id IN NUMBER
137: ,p_inventory_item_id IN NUMBER
138: ,p_parent_lot IN mtl_lot_numbers.lot_number%TYPE := NULL
139: ,p_mmli_tbl IN gme_common_pvt.mtl_trans_lots_inter_tbl
140: ,p_generate_lot IN VARCHAR2
141: ,p_generate_parent_lot IN VARCHAR2
142: /* nsinghi bug#4486074 Added the p_expiration_Date parameter. */
143: ,p_expiration_date IN mtl_lot_numbers.expiration_date%TYPE := NULL
140: ,p_generate_lot IN VARCHAR2
141: ,p_generate_parent_lot IN VARCHAR2
142: /* nsinghi bug#4486074 Added the p_expiration_Date parameter. */
143: ,p_expiration_date IN mtl_lot_numbers.expiration_date%TYPE := NULL
144: ,x_mmli_tbl OUT NOCOPY gme_common_pvt.mtl_trans_lots_inter_tbl
145: ,x_return_status OUT NOCOPY VARCHAR2) IS
146:
147: l_parent_lot mtl_lot_numbers.lot_number%TYPE;
148: l_gen_lot mtl_lot_numbers.lot_number%TYPE;
407: END IF;
408:
409: EXCEPTION
410: WHEN error_insert_row THEN
411: gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
412: x_return_status := FND_API.g_ret_sts_unexp_error;
413: WHEN OTHERS THEN
414: IF g_debug <= gme_debug.g_log_unexpected THEN
415: gme_debug.put_line('When others exception in '||g_pkg_name||'.'||l_api_name||' Error is ' || SQLERRM);
485: END IF;
486:
487: EXCEPTION
488: WHEN error_delete_row THEN
489: gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
490: x_return_status := FND_API.g_ret_sts_unexp_error;
491: WHEN OTHERS THEN
492: IF g_debug <= gme_debug.g_log_unexpected THEN
493: gme_debug.put_line('When others exception in '||g_pkg_name||'.'||l_api_name||' Error is ' || SQLERRM);
536: END IF;
537:
538: EXCEPTION
539: WHEN error_delete_row THEN
540: gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
541: x_return_status := FND_API.g_ret_sts_unexp_error;
542: WHEN OTHERS THEN
543: IF g_debug <= gme_debug.g_log_unexpected THEN
544: gme_debug.put_line('When others exception in '||g_pkg_name||'.'||l_api_name||' Error is ' || SQLERRM);
584: RAISE error_not_lot_control;
585: END IF;
586:
587: IF p_batch_header_rec.update_inventory_ind = 'N' THEN
588: IF p_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing THEN
589: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
590: RAISE error_no_lot_create;
591: END IF;
592: ELSE
585: END IF;
586:
587: IF p_batch_header_rec.update_inventory_ind = 'N' THEN
588: IF p_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing THEN
589: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
590: RAISE error_no_lot_create;
591: END IF;
592: ELSE
593: IF p_material_detail_rec.line_type = gme_common_pvt.g_line_type_ing THEN
589: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
590: RAISE error_no_lot_create;
591: END IF;
592: ELSE
593: IF p_material_detail_rec.line_type = gme_common_pvt.g_line_type_ing THEN
594: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
595: RAISE error_no_lot_create;
596: END IF;
597: END IF;
590: RAISE error_no_lot_create;
591: END IF;
592: ELSE
593: IF p_material_detail_rec.line_type = gme_common_pvt.g_line_type_ing THEN
594: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
595: RAISE error_no_lot_create;
596: END IF;
597: END IF;
598:
666: error_validate EXCEPTION;
667: error_create_lot EXCEPTION;
668: error_get_item EXCEPTION;
669:
670: l_mmli_tbl gme_common_pvt.mtl_trans_lots_inter_tbl;
671: l_in_mmli_tbl gme_common_pvt.mtl_trans_lots_inter_tbl;
672: l_lot_number mtl_lot_numbers.lot_number%TYPE;
673: l_dtl_qty NUMBER;
674: l_sec_qty NUMBER;
667: error_create_lot EXCEPTION;
668: error_get_item EXCEPTION;
669:
670: l_mmli_tbl gme_common_pvt.mtl_trans_lots_inter_tbl;
671: l_in_mmli_tbl gme_common_pvt.mtl_trans_lots_inter_tbl;
672: l_lot_number mtl_lot_numbers.lot_number%TYPE;
673: l_dtl_qty NUMBER;
674: l_sec_qty NUMBER;
675: l_item_rec mtl_system_items_b%ROWTYPE;
741: x_pending_product_lots_rec.revision := p_pending_product_lots_rec.revision;
742:
743: l_lot_number := p_pending_product_lots_rec.lot_number;
744:
745: IF p_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing AND
746: p_create_lot = fnd_api.g_true THEN
747: l_in_mmli_tbl(1).lot_number := p_pending_product_lots_rec.lot_number;
748:
749: create_product_lot
1201: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' p_sec_qty='||p_sec_qty);
1202: END IF;
1203: x_return_status := FND_API.G_RET_STS_SUCCESS;
1204:
1205: IF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_prod THEN
1206: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1207: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1208: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1209: ELSE
1202: END IF;
1203: x_return_status := FND_API.G_RET_STS_SUCCESS;
1204:
1205: IF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_prod THEN
1206: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1207: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1208: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1209: ELSE
1210: l_transaction_type_id := GME_COMMON_PVT.g_ing_issue;
1203: x_return_status := FND_API.G_RET_STS_SUCCESS;
1204:
1205: IF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_prod THEN
1206: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1207: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1208: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1209: ELSE
1210: l_transaction_type_id := GME_COMMON_PVT.g_ing_issue;
1211: END IF;
1204:
1205: IF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_prod THEN
1206: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1207: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1208: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1209: ELSE
1210: l_transaction_type_id := GME_COMMON_PVT.g_ing_issue;
1211: END IF;
1212:
1206: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1207: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1208: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1209: ELSE
1210: l_transaction_type_id := GME_COMMON_PVT.g_ing_issue;
1211: END IF;
1212:
1213: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1214: gme_debug.put_line ( g_pkg_name||'.'||l_api_name||' l_transaction_type_id='||l_transaction_type_id);
1261: p_dtl_qty := INV_CONVERT.inv_um_convert
1262: (item_id => p_matl_dtl_rec.inventory_item_id
1263: ,lot_number => p_lot_number
1264: ,organization_id => p_matl_dtl_rec.organization_id
1265: ,precision => gme_common_pvt.g_precision
1266: ,from_quantity => l_primary_lot_qty
1267: ,from_unit => l_primary_uom_code
1268: ,to_unit => p_matl_dtl_rec.dtl_um
1269: ,from_name => NULL
1390: END IF;
1391: x_return_status := FND_API.G_RET_STS_SUCCESS;
1392:
1393: IF p_sequence IS NULL THEN
1394: gme_common_pvt.log_message ('GME_FIELD_VALUE_REQUIRED'
1395: ,'FIELD_NAME'
1396: ,'SEQUENCE');
1397: RAISE error_validation;
1398: END IF;
1401: FETCH cur_is_sequence INTO l_is_sequ;
1402: CLOSE cur_is_sequence;
1403:
1404: IF l_is_sequ = 1 THEN
1405: gme_common_pvt.log_message ('GME_SEQUENCE_DUP');
1406: l_return := FALSE;
1407: ELSE
1408: l_return := TRUE;
1409: END IF;
1578: ,x_pnd_prod_lot_qty OUT NOCOPY NUMBER
1579: ,x_return_status OUT NOCOPY VARCHAR2)
1580: IS
1581: l_api_name CONSTANT VARCHAR2 (30) := 'get_pnd_prod_lot_qty';
1582: l_pnd_prod_lot_tbl gme_common_pvt.pending_lots_tab;
1583: get_pending_lot_error EXCEPTION;
1584:
1585: BEGIN
1586: IF g_debug <= gme_debug.g_log_procedure THEN