1: PACKAGE BODY WMS_CONTAINER_PVT AS
2: /* $Header: WMSVCNTB.pls 120.79.12020000.13 2013/04/29 05:10:40 ssrikaku ship $ */
3:
4: -- Global constant holding the package name
5: g_pkg_name CONSTANT VARCHAR2(30) := 'WMS_CONTAINER_PVT';
1: PACKAGE BODY WMS_CONTAINER_PVT AS
2: /* $Header: WMSVCNTB.pls 120.79.12020000.13 2013/04/29 05:10:40 ssrikaku ship $ */
3:
4: -- Global constant holding the package name
5: g_pkg_name CONSTANT VARCHAR2(30) := 'WMS_CONTAINER_PVT';
6: g_pkg_version CONSTANT VARCHAR2(100) := '$Header: WMSVCNTB.pls 120.79.12020000.13 2013/04/29 05:10:40 ssrikaku ship $';
7:
8: -- Various debug levels
9: G_ERROR CONSTANT NUMBER := 1;
2830: );
2831:
2832: IF ( x_return_status <> fnd_api.g_ret_sts_success) THEN
2833: IF (l_debug = 1) THEN
2834: mdebug('Call to WMS_CONTAINER_PVT.Update_Locator_capacity failed !!!');
2835: END IF;
2836: END IF;
2837: END IF;
2838: /*ELSE
4819: l_progress := 'Retrieve valuse for parent LPN';
4820:
4821: l_lpn.lpn_id := p_lpn_id;
4822: l_lpn.license_plate_number := NULL;
4823: l_result := WMS_CONTAINER_PVT.validate_lpn(l_lpn, 1);
4824:
4825: IF (l_result = inv_validate.f) THEN
4826: IF (l_debug = 1) THEN
4827: mdebug(p_lpn_id || 'is an invalid lpn_id', G_ERROR);
4858:
4859: IF ( p_content_lpn_id IS NOT NULL ) THEN
4860: l_progress := 'Validate Content LPN';
4861: l_content_lpn.lpn_id := p_content_lpn_id;
4862: l_result := WMS_CONTAINER_PVT.validate_lpn(l_content_lpn);
4863:
4864: IF (l_result = inv_validate.f) THEN
4865: IF (l_debug = 1) THEN
4866: mdebug(p_lpn_id || 'is an invalid lpn_id', G_ERROR);
8537: FROM wms_license_plate_numbers
8538: WHERE outermost_lpn_id = p_lpn_id;
8539:
8540: lpn_rec Nested_LPN_Cursor%ROWTYPE;
8541: l_lpn_is_valid NUMBER := WMS_CONTAINER_PVT.F;
8542: l_parent_lpn_id NUMBER;
8543: BEGIN
8544: IF (l_debug = 1) THEN
8545: mdebug(l_api_name || ' Entered ' || g_pkg_version, 1);
8545: mdebug(l_api_name || ' Entered ' || g_pkg_version, 1);
8546: mdebug('orgid=' ||p_organization_id||' lpnid='||p_lpn_id||' type='||p_validation_type, G_MESSAGE);
8547: END IF;
8548:
8549: IF ( p_validation_type = WMS_CONTAINER_PVT.G_RECONFIGURE_LPN OR
8550: p_validation_type = WMS_CONTAINER_PVT.G_NO_ONHAND_EXISTS ) THEN
8551: l_progress := '100';
8552: -- Check if the lpn_id entered is the outermost
8553: BEGIN
8546: mdebug('orgid=' ||p_organization_id||' lpnid='||p_lpn_id||' type='||p_validation_type, G_MESSAGE);
8547: END IF;
8548:
8549: IF ( p_validation_type = WMS_CONTAINER_PVT.G_RECONFIGURE_LPN OR
8550: p_validation_type = WMS_CONTAINER_PVT.G_NO_ONHAND_EXISTS ) THEN
8551: l_progress := '100';
8552: -- Check if the lpn_id entered is the outermost
8553: BEGIN
8554: SELECT parent_lpn_id INTO l_parent_lpn_id
8561: mdebug('lpnid='||p_lpn_id|| ' does not exist', G_ERROR);
8562: END IF;
8563: fnd_message.set_name('WMS', 'WMS_CONT_INVALID_LPN');
8564: fnd_msg_pub.ADD;
8565: RETURN WMS_CONTAINER_PVT.F;
8566: END;
8567:
8568: l_progress := '110';
8569: IF ( l_parent_lpn_id IS NOT NULL ) THEN
8571: mdebug('lpnid='||p_lpn_id|| ' is not the outermost LPN', G_ERROR);
8572: END IF;
8573: fnd_message.set_name('WMS', 'WMS_LPN_NOT_OUTERMOST');
8574: fnd_msg_pub.ADD;
8575: RETURN WMS_CONTAINER_PVT.F;
8576: END IF;
8577: END IF;
8578:
8579: l_progress := '200';
8581: FETCH Nested_LPN_Cursor INTO lpn_rec;
8582:
8583: l_progress := '210';
8584: IF ( Nested_LPN_Cursor%FOUND ) THEN
8585: l_lpn_is_valid := WMS_CONTAINER_PVT.T;
8586: l_progress := '220';
8587: WHILE ( l_lpn_is_valid = WMS_CONTAINER_PVT.T AND Nested_LPN_Cursor%FOUND ) LOOP
8588: IF ( p_validation_type = WMS_CONTAINER_PVT.G_RECONFIGURE_LPN ) THEN
8589: -- Check if the lpn is on a reservation
8583: l_progress := '210';
8584: IF ( Nested_LPN_Cursor%FOUND ) THEN
8585: l_lpn_is_valid := WMS_CONTAINER_PVT.T;
8586: l_progress := '220';
8587: WHILE ( l_lpn_is_valid = WMS_CONTAINER_PVT.T AND Nested_LPN_Cursor%FOUND ) LOOP
8588: IF ( p_validation_type = WMS_CONTAINER_PVT.G_RECONFIGURE_LPN ) THEN
8589: -- Check if the lpn is on a reservation
8590: IF(lpn_rec.lpn_context <> 11) THEN --BUG13627343
8591: BEGIN
8584: IF ( Nested_LPN_Cursor%FOUND ) THEN
8585: l_lpn_is_valid := WMS_CONTAINER_PVT.T;
8586: l_progress := '220';
8587: WHILE ( l_lpn_is_valid = WMS_CONTAINER_PVT.T AND Nested_LPN_Cursor%FOUND ) LOOP
8588: IF ( p_validation_type = WMS_CONTAINER_PVT.G_RECONFIGURE_LPN ) THEN
8589: -- Check if the lpn is on a reservation
8590: IF(lpn_rec.lpn_context <> 11) THEN --BUG13627343
8591: BEGIN
8592: SELECT WMS_CONTAINER_PVT.F
8588: IF ( p_validation_type = WMS_CONTAINER_PVT.G_RECONFIGURE_LPN ) THEN
8589: -- Check if the lpn is on a reservation
8590: IF(lpn_rec.lpn_context <> 11) THEN --BUG13627343
8591: BEGIN
8592: SELECT WMS_CONTAINER_PVT.F
8593: INTO l_lpn_is_valid
8594: FROM mtl_reservations
8595: WHERE organization_id = p_organization_id
8596: AND lpn_id = lpn_rec.lpn_id
8613:
8614: -- check to see if there are pending transactions or the
8615: -- lpn has been allocatied
8616: BEGIN
8617: SELECT WMS_CONTAINER_PVT.F
8618: INTO l_lpn_is_valid
8619: FROM mtl_material_transactions_temp
8620: WHERE organization_id = p_organization_id
8621: AND ( ALLOCATED_LPN_ID = lpn_rec.lpn_id OR
8635: NULL; --no rows fround everything is okay
8636: END;
8637: END IF;
8638:
8639: IF ( p_validation_type = WMS_CONTAINER_PVT.G_NO_ONHAND_EXISTS ) THEN
8640: -- check to see if there is any onhand quantity associated with lpn
8641: BEGIN
8642: SELECT WMS_CONTAINER_PVT.F
8643: INTO l_lpn_is_valid
8638:
8639: IF ( p_validation_type = WMS_CONTAINER_PVT.G_NO_ONHAND_EXISTS ) THEN
8640: -- check to see if there is any onhand quantity associated with lpn
8641: BEGIN
8642: SELECT WMS_CONTAINER_PVT.F
8643: INTO l_lpn_is_valid
8644: FROM mtl_onhand_quantities_detail
8645: WHERE organization_id = p_organization_id
8646: AND lpn_id = lpn_rec.lpn_id
8657: END;
8658:
8659: --check to see if there are any serial numbers associated with lpn
8660: BEGIN
8661: SELECT WMS_CONTAINER_PVT.F
8662: INTO l_lpn_is_valid
8663: FROM mtl_serial_numbers
8664: WHERE current_organization_id = p_organization_id
8665: AND lpn_id = lpn_rec.lpn_id
8689: WHEN OTHERS THEN
8690: IF (l_debug = 1) THEN
8691: mdebug(l_api_name ||' Error progress= '||l_progress||'SQL error: '|| SQLERRM(SQLCODE), G_ERROR);
8692: END IF;
8693: RETURN WMS_CONTAINER_PVT.F;
8694: END Validate_LPN;
8695:
8696: -- ----------------------------------------------------------------------------------
8697: -- ----------------------------------------------------------------------------------
9620: -- 16284527 add
9621:
9622:
9623: -- End of package
9624: END WMS_CONTAINER_PVT;