26:
27: PROCEDURE get_pending_lot
28: (p_material_detail_id IN NUMBER
29: ,x_return_status OUT NOCOPY VARCHAR2
30: ,x_pending_product_lot_tbl OUT NOCOPY gme_common_pvt.pending_lots_tab) IS
31:
32: CURSOR cur_get_lots (v_mtl_dtl_id NUMBER) IS
33: SELECT *
34: FROM gme_pending_product_lots
99: END IF;
100:
101: /*UPDATE gme_pending_product_lots
102: SET quantity = 0,
103: last_updated_by = gme_common_pvt.g_user_ident,
104: last_update_date = gme_common_pvt.g_timestamp,
105: last_update_login = gme_common_pvt.g_login_id
106: WHERE pending_product_lot_id = p_pending_lot_id;
107:
100:
101: /*UPDATE gme_pending_product_lots
102: SET quantity = 0,
103: last_updated_by = gme_common_pvt.g_user_ident,
104: last_update_date = gme_common_pvt.g_timestamp,
105: last_update_login = gme_common_pvt.g_login_id
106: WHERE pending_product_lot_id = p_pending_lot_id;
107:
108: IF l_sec_qty IS NOT NULL THEN
101: /*UPDATE gme_pending_product_lots
102: SET quantity = 0,
103: last_updated_by = gme_common_pvt.g_user_ident,
104: last_update_date = gme_common_pvt.g_timestamp,
105: last_update_login = gme_common_pvt.g_login_id
106: WHERE pending_product_lot_id = p_pending_lot_id;
107:
108: IF l_sec_qty IS NOT NULL THEN
109: UPDATE gme_pending_product_lots
112: END IF; -- IF l_sec_qty IS NOT NULL THEN */
113: ELSE
114: UPDATE gme_pending_product_lots
115: SET quantity = quantity - p_quantity,
116: last_updated_by = gme_common_pvt.g_user_ident,
117: last_update_date = gme_common_pvt.g_timestamp,
118: last_update_login = gme_common_pvt.g_login_id
119: WHERE pending_product_lot_id = p_pending_lot_id;
120:
113: ELSE
114: UPDATE gme_pending_product_lots
115: SET quantity = quantity - p_quantity,
116: last_updated_by = gme_common_pvt.g_user_ident,
117: last_update_date = gme_common_pvt.g_timestamp,
118: last_update_login = gme_common_pvt.g_login_id
119: WHERE pending_product_lot_id = p_pending_lot_id;
120:
121: IF l_sec_qty IS NOT NULL THEN
114: UPDATE gme_pending_product_lots
115: SET quantity = quantity - p_quantity,
116: last_updated_by = gme_common_pvt.g_user_ident,
117: last_update_date = gme_common_pvt.g_timestamp,
118: last_update_login = gme_common_pvt.g_login_id
119: WHERE pending_product_lot_id = p_pending_lot_id;
120:
121: IF l_sec_qty IS NOT NULL THEN
122: UPDATE gme_pending_product_lots
143: PROCEDURE create_product_lot
144: (p_organization_id IN NUMBER
145: ,p_inventory_item_id IN NUMBER
146: ,p_parent_lot IN mtl_lot_numbers.lot_number%TYPE := NULL
147: ,p_mmli_tbl IN gme_common_pvt.mtl_trans_lots_inter_tbl
148: ,p_generate_lot IN VARCHAR2
149: ,p_generate_parent_lot IN VARCHAR2
150: /* nsinghi bug#4486074 Added the p_expiration_Date parameter. */
151: ,p_expiration_date IN mtl_lot_numbers.expiration_date%TYPE := NULL
148: ,p_generate_lot IN VARCHAR2
149: ,p_generate_parent_lot IN VARCHAR2
150: /* nsinghi bug#4486074 Added the p_expiration_Date parameter. */
151: ,p_expiration_date IN mtl_lot_numbers.expiration_date%TYPE := NULL
152: ,x_mmli_tbl OUT NOCOPY gme_common_pvt.mtl_trans_lots_inter_tbl
153: ,x_return_status OUT NOCOPY VARCHAR2) IS
154:
155: l_parent_lot mtl_lot_numbers.lot_number%TYPE;
156: l_gen_lot mtl_lot_numbers.lot_number%TYPE;
420: END IF;
421:
422: EXCEPTION
423: WHEN error_insert_row THEN
424: gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
425: x_return_status := FND_API.g_ret_sts_unexp_error;
426: WHEN OTHERS THEN
427: IF g_debug <= gme_debug.g_log_unexpected THEN
428: gme_debug.put_line('When others exception in '||g_pkg_name||'.'||l_api_name||' Error is ' || SQLERRM);
498: END IF;
499:
500: EXCEPTION
501: WHEN error_delete_row THEN
502: gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
503: x_return_status := FND_API.g_ret_sts_unexp_error;
504: WHEN OTHERS THEN
505: IF g_debug <= gme_debug.g_log_unexpected THEN
506: gme_debug.put_line('When others exception in '||g_pkg_name||'.'||l_api_name||' Error is ' || SQLERRM);
549: END IF;
550:
551: EXCEPTION
552: WHEN error_delete_row THEN
553: gme_common_pvt.log_message ('GME_UNEXPECTED_ERROR', 'ERROR', SQLERRM);
554: x_return_status := FND_API.g_ret_sts_unexp_error;
555: WHEN OTHERS THEN
556: IF g_debug <= gme_debug.g_log_unexpected THEN
557: gme_debug.put_line('When others exception in '||g_pkg_name||'.'||l_api_name||' Error is ' || SQLERRM);
597: RAISE error_not_lot_control;
598: END IF;
599:
600: IF p_batch_header_rec.update_inventory_ind = 'N' THEN
601: IF p_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing THEN
602: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
603: RAISE error_no_lot_create;
604: END IF;
605: ELSE
598: END IF;
599:
600: IF p_batch_header_rec.update_inventory_ind = 'N' THEN
601: IF p_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing THEN
602: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
603: RAISE error_no_lot_create;
604: END IF;
605: ELSE
606: IF p_material_detail_rec.line_type = gme_common_pvt.g_line_type_ing THEN
602: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
603: RAISE error_no_lot_create;
604: END IF;
605: ELSE
606: IF p_material_detail_rec.line_type = gme_common_pvt.g_line_type_ing THEN
607: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
608: RAISE error_no_lot_create;
609: END IF;
610: END IF;
603: RAISE error_no_lot_create;
604: END IF;
605: ELSE
606: IF p_material_detail_rec.line_type = gme_common_pvt.g_line_type_ing THEN
607: gme_common_pvt.log_message('GME_NO_LOT_CREATE');
608: RAISE error_no_lot_create;
609: END IF;
610: END IF;
611:
679: error_validate EXCEPTION;
680: error_create_lot EXCEPTION;
681: error_get_item EXCEPTION;
682:
683: l_mmli_tbl gme_common_pvt.mtl_trans_lots_inter_tbl;
684: l_in_mmli_tbl gme_common_pvt.mtl_trans_lots_inter_tbl;
685: l_lot_number mtl_lot_numbers.lot_number%TYPE;
686: l_dtl_qty NUMBER;
687: l_sec_qty NUMBER;
680: error_create_lot EXCEPTION;
681: error_get_item EXCEPTION;
682:
683: l_mmli_tbl gme_common_pvt.mtl_trans_lots_inter_tbl;
684: l_in_mmli_tbl gme_common_pvt.mtl_trans_lots_inter_tbl;
685: l_lot_number mtl_lot_numbers.lot_number%TYPE;
686: l_dtl_qty NUMBER;
687: l_sec_qty NUMBER;
688: l_item_rec mtl_system_items_b%ROWTYPE;
754: x_pending_product_lots_rec.revision := p_pending_product_lots_rec.revision;
755:
756: l_lot_number := p_pending_product_lots_rec.lot_number;
757:
758: IF p_material_detail_rec.line_type <> gme_common_pvt.g_line_type_ing AND
759: p_create_lot = fnd_api.g_true THEN
760: l_in_mmli_tbl(1).lot_number := p_pending_product_lots_rec.lot_number;
761:
762: create_product_lot
1214: gme_debug.put_line(g_pkg_name||'.'||l_api_name||' p_sec_qty='||p_sec_qty);
1215: END IF;
1216: x_return_status := FND_API.G_RET_STS_SUCCESS;
1217:
1218: IF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_prod THEN
1219: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1220: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1221: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1222: ELSE
1215: END IF;
1216: x_return_status := FND_API.G_RET_STS_SUCCESS;
1217:
1218: IF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_prod THEN
1219: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1220: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1221: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1222: ELSE
1223: l_transaction_type_id := GME_COMMON_PVT.g_ing_issue;
1216: x_return_status := FND_API.G_RET_STS_SUCCESS;
1217:
1218: IF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_prod THEN
1219: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1220: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1221: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1222: ELSE
1223: l_transaction_type_id := GME_COMMON_PVT.g_ing_issue;
1224: END IF;
1217:
1218: IF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_prod THEN
1219: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1220: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1221: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1222: ELSE
1223: l_transaction_type_id := GME_COMMON_PVT.g_ing_issue;
1224: END IF;
1225:
1219: l_transaction_type_id := GME_COMMON_PVT.g_prod_completion;
1220: ELSIF p_matl_dtl_rec.line_type = gme_common_pvt.g_line_type_byprod THEN
1221: l_transaction_type_id := GME_COMMON_PVT.g_byprod_completion;
1222: ELSE
1223: l_transaction_type_id := GME_COMMON_PVT.g_ing_issue;
1224: END IF;
1225:
1226: IF (NVL (g_debug, -1) = gme_debug.g_log_statement) THEN
1227: gme_debug.put_line ( g_pkg_name||'.'||l_api_name||' l_transaction_type_id='||l_transaction_type_id);
1274: p_dtl_qty := INV_CONVERT.inv_um_convert
1275: (item_id => p_matl_dtl_rec.inventory_item_id
1276: ,lot_number => p_lot_number
1277: ,organization_id => p_matl_dtl_rec.organization_id
1278: ,precision => gme_common_pvt.g_precision
1279: ,from_quantity => l_primary_lot_qty
1280: ,from_unit => l_primary_uom_code
1281: ,to_unit => p_matl_dtl_rec.dtl_um
1282: ,from_name => NULL
1403: END IF;
1404: x_return_status := FND_API.G_RET_STS_SUCCESS;
1405:
1406: IF p_sequence IS NULL THEN
1407: gme_common_pvt.log_message ('GME_FIELD_VALUE_REQUIRED'
1408: ,'FIELD_NAME'
1409: ,'SEQUENCE');
1410: RAISE error_validation;
1411: END IF;
1414: FETCH cur_is_sequence INTO l_is_sequ;
1415: CLOSE cur_is_sequence;
1416:
1417: IF l_is_sequ = 1 THEN
1418: gme_common_pvt.log_message ('GME_SEQUENCE_DUP');
1419: l_return := FALSE;
1420: ELSE
1421: l_return := TRUE;
1422: END IF;
1591: ,x_pnd_prod_lot_qty OUT NOCOPY NUMBER
1592: ,x_return_status OUT NOCOPY VARCHAR2)
1593: IS
1594: l_api_name CONSTANT VARCHAR2 (30) := 'get_pnd_prod_lot_qty';
1595: l_pnd_prod_lot_tbl gme_common_pvt.pending_lots_tab;
1596: get_pending_lot_error EXCEPTION;
1597:
1598: BEGIN
1599: IF g_debug <= gme_debug.g_log_procedure THEN