128: BEGIN
129:
130: SAVEPOINT generate_xml_csv_sp;
131:
132: x_return_status := FND_API.g_ret_sts_success;
133:
134:
135: IF (l_debug = 1) THEN
136: trace('generate_xml_csv_api ::DEVICE::OUT_METHOD:status_code:p_event_date');
260: trace(' After call to SYNC_DEVICE_REQUEST l_return_status:'||l_return_status);
261: END IF;
262:
263:
264: IF (l_return_status<> FND_API.g_ret_sts_success) THEN
265:
266: l_msg_data := fnd_msg_pub.get(fnd_msg_pub.G_LAST,'F');--only last message
267:
268: UPDATE wms_device_requests
671:
672: WMS_SHIPPING_TRANSACTION_PUB.unassign_delivery_line
673: (p_delivery_detail_id =>l_delivery_detail_id,
674: x_return_status => l_return_status,
675: p_commit_flag => fnd_api.g_true --Committed
676: );
677:
678: END LOOP;
679:
835: trace('catch wt validation failed');
836: END IF;
837: FND_MESSAGE.SET_NAME('WMS', 'WMS_CTWT_DEFAULT_ERROR');
838: FND_MSG_PUB.ADD;
839: RAISE FND_API.G_EXC_ERROR;
840:
841: END IF;
842:
843: --make sure that the LPN does not have any Serial item which is defined as
872: trace('Error: LPN contains Serials at SO Issue');
873: END IF;
874: FND_MESSAGE.SET_NAME('WMS', 'WMS_RFID_NO_SERIAL_ISSUE');
875: FND_MSG_PUB.ADD;
876: RAISE FND_API.G_EXC_ERROR;
877:
878: END IF;
879:
880:
931: FND_MESSAGE.SET_NAME('WMS', 'WMS_RFID_TRUCK_LOAD_FAIL');
932: FND_MSG_PUB.ADD;
933: END IF;
934:
935: RAISE FND_API.G_EXC_ERROR;
936:
937: ELSE
938:
939: IF (l_debug = 1) THEN
1007: BEGIN
1008: IF (l_debug = 1) THEN
1009: trace('Inside process_normal_truck_load_ship');
1010: END IF;
1011: x_return_status := FND_API.g_ret_sts_success;
1012:
1013:
1014: --First Load the LPN
1015: process_normal_truck_load(p_lpn_id => p_lpn_id,
1022: IF l_return_status IS NULL OR l_return_status = 'E' OR l_return_status = 'U' THEN
1023: IF (l_debug = 1) THEN
1024: trace('process_normal_truck_load_ship: Truck load failed');
1025: END IF;
1026: RAISE FND_API.G_EXC_ERROR;
1027:
1028: ELSE
1029:
1030: IF (l_debug = 1) THEN
1042: WMS_SHIPPING_TRANSACTION_PUB.close_truck
1043: ( P_dock_door_id => p_dock_door_id,
1044: P_organization_id => p_org_id,
1045: p_shipping_mode => 'NORMAL',
1046: p_commit_flag => fnd_api.g_false,
1047: x_return_status => l_return_status,
1048: x_return_msg => l_msg_data
1049: );
1050:
1061: IF (l_debug = 1) THEN
1062: trace('process_normal_truck_load_ship return Success/Warning: Commit Done');
1063: END IF;
1064: ELSE
1065: RAISE FND_API.G_EXC_ERROR;
1066: END IF;
1067:
1068:
1069: ELSE
1128: IF (l_debug = 1) THEN
1129: trace('Inside PROCESS_DIRECT_TRUCK_LOAD');
1130: END IF;
1131:
1132: x_return_status := FND_API.g_ret_sts_success;
1133:
1134: --Jason will provide this API
1135: --Check that for all items in the LPN, either catch weights are
1136: --defaulted OR defaulting is enabled so that shipping can default them
1154: trace('catch wt validation failed');
1155: END IF;
1156: FND_MESSAGE.SET_NAME('WMS', 'WMS_CTWT_DEFAULT_ERROR');
1157: FND_MSG_PUB.ADD;
1158: RAISE FND_API.G_EXC_ERROR;
1159:
1160: END IF;
1161:
1162:
1191: trace('Error: LPN contains Serials at SO Issue');
1192: END IF;
1193: FND_MESSAGE.SET_NAME('WMS', 'WMS_RFID_NO_SERIAL_ISSUE');
1194: FND_MSG_PUB.ADD;
1195: RAISE FND_API.G_EXC_ERROR;
1196:
1197: END IF;
1198:
1199:
1247: IF l_return_status IS NULL OR l_return_status = 'E' OR
1248: l_return_status = 'U' THEN
1249: FND_MESSAGE.SET_NAME('WMS', 'WMS_RFID_TRUCK_LOAD_FAIL');
1250: FND_MSG_PUB.ADD;
1251: RAISE FND_API.G_EXC_ERROR;
1252:
1253: ELSE
1254:
1255: if l_remaining_qty <> 0 then
1258: trace('ERROR: LPN not Totally Consumed');
1259: END IF;
1260: FND_MESSAGE.SET_NAME('WMS', 'WMS_RFID_LPN_NOT_CONSUMED');
1261: FND_MSG_PUB.ADD;
1262: RAISE FND_API.G_EXC_ERROR;
1263:
1264: else
1265: IF (l_debug = 1) THEN
1266: trace('Load the LPN');
1282: IF l_return_status IS NULL OR l_return_status = 'E' OR
1283: l_return_status = 'U' THEN
1284: FND_MESSAGE.SET_NAME('WMS', 'WMS_RFID_TRUCK_LOAD_FAIL');
1285: FND_MSG_PUB.ADD;
1286: RAISE FND_API.G_EXC_ERROR;
1287:
1288: ELSE
1289: IF (l_debug = 1) THEN
1290: trace('Load LPN success: Checking whether the last LPN for truck Load only');
1364: IF (l_debug = 1) THEN
1365: trace('Inside process_direct_truck_load_ship');
1366: END IF;
1367:
1368: x_return_status := FND_API.g_ret_sts_success;
1369:
1370: process_direct_truck_load( p_lpn_id => p_lpn_id,
1371: p_org_id => p_org_id,
1372: p_dock_door_id => p_dock_door_id,
1379: END IF;
1380:
1381: IF l_return_status IS NULL OR l_return_status = 'E' OR l_return_status ='U' THEN
1382:
1383: RAISE FND_API.G_EXC_ERROR;
1384: IF (l_debug = 1) THEN
1385: trace('process_direct_truck_load_ship::Truck Load failed');
1386: END IF;
1387:
1402: WMS_SHIPPING_TRANSACTION_PUB.close_truck
1403: ( P_dock_door_id => p_dock_door_id,
1404: P_organization_id => p_org_id,
1405: p_shipping_mode => 'DIRECT',
1406: p_commit_flag => fnd_api.g_false,
1407: x_return_status => l_return_status,
1408: x_return_msg => l_msg_data
1409: );
1410:
1412: trace('process_direct_truck_load_ship l_return_status :'||l_return_status);
1413: END IF;
1414:
1415: fnd_msg_pub.Count_And_Get
1416: (p_encoded => FND_API.g_false,
1417: p_count => l_msg_count,
1418: p_data => l_msg_data
1419: );
1420:
1419: );
1420:
1421: IF l_msg_count > 1 THEN
1422: FOR i IN 1..l_msg_count LOOP
1423: l_ship_confirm_pkg_mesg := substr((l_msg_data || '|' || FND_MSG_PUB.GET(p_msg_index => l_msg_count - i + 1, p_encoded => FND_API.g_false)),1,240);
1424: END LOOP;
1425: ELSE
1426:
1427: l_ship_confirm_pkg_mesg :=substr(l_msg_data,1,240);
1506: trace('process_rfid_receiving_txn:l_shipment_header_id:p_routing_id:p_lpn_id:p_lpn_context');
1507: trace('process_rfid_receiving_txn:'||l_shipment_header_id||'::'||p_routing_id||'::'||p_lpn_id||'::'|| p_lpn_context);
1508: END IF;
1509:
1510: x_return_status := FND_API.g_ret_sts_success;
1511:
1512: if p_routing_id IS NOT NULL THEN
1513:
1514: if p_routing_id = 2 then --inspection
1559:
1560: --Fail the transaction, it can not be performed by RFID
1561: FND_MESSAGE.SET_NAME('WMS', 'WMS_RFID_ITEM_CTRL_ERROR');
1562: FND_MSG_PUB.ADD;
1563: RAISE FND_API.G_EXC_ERROR;
1564:
1565: ELSE
1566: IF (l_debug = 1) THEN
1567: trace('process_rfid_receiving_txn:l_lot_ser_code test passed');
1693:
1694: IF (l_debug = 1) THEN
1695: trace('process_rfid_receiving_txn: Error: Rcpt generation failed');
1696: END IF;
1697: RAISE FND_API.G_EXC_ERROR;
1698:
1699: ELSE
1700:
1701: IF (l_debug = 1) THEN
1764:
1765: IF (l_debug = 1) THEN
1766: trace('process_rfid_receiving_txn: Error: rcv_insert_update_header failed');
1767: END IF;
1768: RAISE FND_API.G_EXC_ERROR;
1769:
1770: ELSE
1771:
1772: IF (l_debug = 1) THEN
2026:
2027:
2028: x_pallet_lpn_id := NULL;
2029: x_pallet_lpn_context := NULL;
2030: x_return_status := fnd_api.g_ret_sts_error;
2031: FND_MESSAGE.SET_NAME('WMS', 'WMS_RFID_INVALID_READ');
2032: FND_MSG_PUB.ADD;
2033:
2034: l_is_error :=1;
2037: WHEN too_many_rows THEN
2038: --THIS SHOULD NEVER HAPPEN AS EPC IS UNIQUE COLUMN IN THE TABLE
2039: x_pallet_lpn_id := NULL;
2040: x_pallet_lpn_context := NULL;
2041: x_return_status := fnd_api.g_ret_sts_error;
2042: FND_MESSAGE.SET_NAME('WMS', 'WMS_DUPLICATE_EPC');
2043: FND_MSG_PUB.ADD;
2044:
2045: l_is_error :=1;
2050: END IF;
2051:
2052: x_pallet_lpn_id := NULL;
2053: x_pallet_lpn_context := NULL;
2054: x_return_status := fnd_api.g_ret_sts_error;
2055: FND_MESSAGE.SET_NAME('WMS', 'WMS_UNEXPECTED_ERR');
2056: FND_MSG_PUB.ADD;
2057:
2058: l_is_error :=1;
3348: trace('process_rfid_txn:'||l_routing_id||'::'||l_return_status||'::'||l_msg_count||'::'||l_msg_data);
3349: END IF;
3350:
3351:
3352: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3353:
3354: IF (l_debug = 1) THEN
3355: trace(' Error : inv_rcv_common_apis.failed in getting _routing_id');
3356: END IF;
3387: x_return_status => l_return_status);
3388:
3389: l_progress := '90';
3390:
3391: IF l_return_status <> fnd_api.g_ret_sts_success THEN--failed transaction
3392:
3393: IF (l_debug = 1) THEN
3394: trace('process_rfid_txn: Receiving txn failed');
3395: END IF;