64: l_new_parent_detail_id NUMBER;
65: l_num_warnings NUMBER := 0;
66: -- K LPN CONV. rv
67:
68: l_mdc_detail_tab wsh_util_core.id_tab_type;
69: l_dd_id WSH_UTIL_CORE.ID_TAB_TYPE;
70: l_del_tab WSH_UTIL_CORE.Id_Tab_Type;
71: l_return_status VARCHAR2(1);
72: l_new_delivery_id WSH_DELIVERY_ASSIGNMENTS_V.DELIVERY_ID%TYPE;
65: l_num_warnings NUMBER := 0;
66: -- K LPN CONV. rv
67:
68: l_mdc_detail_tab wsh_util_core.id_tab_type;
69: l_dd_id WSH_UTIL_CORE.ID_TAB_TYPE;
70: l_del_tab WSH_UTIL_CORE.Id_Tab_Type;
71: l_return_status VARCHAR2(1);
72: l_new_delivery_id WSH_DELIVERY_ASSIGNMENTS_V.DELIVERY_ID%TYPE;
73:
66: -- K LPN CONV. rv
67:
68: l_mdc_detail_tab wsh_util_core.id_tab_type;
69: l_dd_id WSH_UTIL_CORE.ID_TAB_TYPE;
70: l_del_tab WSH_UTIL_CORE.Id_Tab_Type;
71: l_return_status VARCHAR2(1);
72: l_new_delivery_id WSH_DELIVERY_ASSIGNMENTS_V.DELIVERY_ID%TYPE;
73:
74: l_reprice_del_tab WSH_UTIL_CORE.ID_TAB_TYPE;
70: l_del_tab WSH_UTIL_CORE.Id_Tab_Type;
71: l_return_status VARCHAR2(1);
72: l_new_delivery_id WSH_DELIVERY_ASSIGNMENTS_V.DELIVERY_ID%TYPE;
73:
74: l_reprice_del_tab WSH_UTIL_CORE.ID_TAB_TYPE;
75:
76: MARK_REPRICE_ERROR EXCEPTION;
77: e_return EXCEPTION;
78:
85:
86: -- OTM R12 : unassign delivery detail
87: l_ignore_for_planning WSH_DELIVERY_DETAILS.IGNORE_FOR_PLANNING%TYPE;
88: l_is_delivery_empty VARCHAR2(1);
89: l_interface_flag_tab WSH_UTIL_CORE.COLUMN_TAB_TYPE;
90: l_delivery_id_tab WSH_UTIL_CORE.ID_TAB_TYPE;
91: l_gc3_is_installed VARCHAR2(1);
92: l_call_update VARCHAR2(1);
93: -- End of OTM R12 : unassign delivery detail
86: -- OTM R12 : unassign delivery detail
87: l_ignore_for_planning WSH_DELIVERY_DETAILS.IGNORE_FOR_PLANNING%TYPE;
88: l_is_delivery_empty VARCHAR2(1);
89: l_interface_flag_tab WSH_UTIL_CORE.COLUMN_TAB_TYPE;
90: l_delivery_id_tab WSH_UTIL_CORE.ID_TAB_TYPE;
91: l_gc3_is_installed VARCHAR2(1);
92: l_call_update VARCHAR2(1);
93: -- End of OTM R12 : unassign delivery detail
94:
104: WSH_DEBUG_SV.log(l_module_name,'P_BACKORDER_REC_TBL.COUNT',P_BACKORDER_REC_TBL.COUNT);
105: WSH_DEBUG_SV.log(l_module_name,'P_ORG_INFO_TBL.COUNT',P_ORG_INFO_TBL.COUNT);
106: END IF;
107:
108: x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
109:
110: -- OTM R12
111: l_gc3_is_installed := WSH_UTIL_CORE.G_GC3_IS_INSTALLED;
112:
107:
108: x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
109:
110: -- OTM R12
111: l_gc3_is_installed := WSH_UTIL_CORE.G_GC3_IS_INSTALLED;
112:
113: IF (l_gc3_is_installed IS NULL) THEN
114: l_gc3_is_installed := WSH_UTIL_CORE.GC3_IS_INSTALLED;
115: END IF;
110: -- OTM R12
111: l_gc3_is_installed := WSH_UTIL_CORE.G_GC3_IS_INSTALLED;
112:
113: IF (l_gc3_is_installed IS NULL) THEN
114: l_gc3_is_installed := WSH_UTIL_CORE.GC3_IS_INSTALLED;
115: END IF;
116: -- End of OTM R12
117:
118: -- Return back to caller if there are no records in table
189: p_diff_fill_volume => -1 * p_backorder_rec_tbl(i).volume,
190: p_check_for_empty => 'Y',
191: x_return_status => l_return_status);
192:
193: IF (l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR) THEN
194: WSH_UTIL_CORE.Add_Message(l_return_status);
195: IF l_debug_on THEN
196: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_WV_UTILS.DD_WV_Post_Process ');
197: END IF;
190: p_check_for_empty => 'Y',
191: x_return_status => l_return_status);
192:
193: IF (l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR) THEN
194: WSH_UTIL_CORE.Add_Message(l_return_status);
195: IF l_debug_on THEN
196: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_WV_UTILS.DD_WV_Post_Process ');
197: END IF;
198: ROLLBACK TO unassign_backorder_details;
232: l_call_update := 'Y';
233: l_delivery_id_tab(1) := p_backorder_rec_tbl(i).delivery_id;
234: l_is_delivery_empty := WSH_NEW_DELIVERY_ACTIONS.IS_DELIVERY_EMPTY(p_backorder_rec_tbl(i).delivery_id);
235:
236: IF (l_is_delivery_empty = WSH_UTIL_CORE.G_RET_STS_ERROR) THEN
237: IF l_debug_on THEN
238: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_NEW_DELIVERIE_ACTIONS.IS_DELIVERY_EMPTY '||to_char(p_backorder_rec_tbl(i).delivery_id));
239: END IF;
240: ROLLBACK TO unassign_backorder_details;
259: p_delivery_id_tab => l_delivery_id_tab,
260: p_tms_interface_flag_tab => l_interface_flag_tab,
261: x_return_status => l_return_status);
262:
263: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR THEN
264: IF l_debug_on THEN
265: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_NEW_DELIVERIES_PVT.UPDATE_TMS_INTERFACE_FLAG');
266: END IF;
267: ROLLBACK TO unassign_backorder_details;
266: END IF;
267: ROLLBACK TO unassign_backorder_details;
268: l_num_errors := l_num_errors + 1;
269: GOTO next_record;
270: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
271: IF l_debug_on THEN
272: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error in WSH_NEW_DELIVERIES_PVT.UPDATE_TMS_INTERFACE_FLAG');
273: END IF;
274: RAISE e_return;
271: IF l_debug_on THEN
272: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error in WSH_NEW_DELIVERIES_PVT.UPDATE_TMS_INTERFACE_FLAG');
273: END IF;
274: RAISE e_return;
275: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING THEN
276: IF l_debug_on THEN
277: WSH_DEBUG_SV.logmsg(l_module_name,'Warning in WSH_NEW_DELIVERIES_PVT.UPDATE_TMS_INTERFACE_FLAG');
278: END IF;
279: l_num_warnings := l_num_warnings + 1;
294: WSH_DELIVERY_DETAILS_ACTIONS.Delete_Consol_Record(
295: p_detail_id_tab => l_mdc_detail_tab,
296: x_return_status => l_return_status);
297:
298: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR THEN
299: IF l_debug_on THEN
300: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_DELIVERY_DETAILS_ACTIONS.Delete_Consol_Record');
301: END IF;
302: ROLLBACK TO unassign_backorder_details;
301: END IF;
302: ROLLBACK TO unassign_backorder_details;
303: l_num_errors := l_num_errors + 1;
304: GOTO next_record;
305: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
306: IF l_debug_on THEN
307: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error in WSH_DELIVERY_DETAILS_ACTIONS.Delete_Consol_Record ');
308: END IF;
309: RAISE e_return;
314: WSH_DELIVERY_DETAILS_ACTIONS.Create_Consol_Record(
315: p_detail_id_tab => l_mdc_detail_tab,
316: x_return_status => l_return_status);
317:
318: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR THEN
319: IF l_debug_on THEN
320: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_DELIVERY_DETAILS_ACTIONS.Create_Consol_Record');
321: END IF;
322: ROLLBACK TO unassign_backorder_details;
321: END IF;
322: ROLLBACK TO unassign_backorder_details;
323: l_num_errors := l_num_errors + 1;
324: GOTO next_record;
325: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
326: IF l_debug_on THEN
327: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error in WSH_DELIVERY_DETAILS_ACTIONS.Create_Consol_Record');
328: END IF;
329: RAISE e_return;
365: );
366: IF l_debug_on THEN
367: WSH_DEBUG_SV.log(l_module_name,'Return Status',l_return_status);
368: END IF;
369: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR THEN
370: IF l_debug_on THEN
371: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_WMS_SYNC_TMP_PKG.MERGE ');
372: END IF;
373: ROLLBACK TO unassign_backorder_details;
372: END IF;
373: ROLLBACK TO unassign_backorder_details;
374: l_num_errors := l_num_errors + 1;
375: GOTO next_record;
376: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
377: IF l_debug_on THEN
378: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected Error in WSH_WMS_SYNC_TMP_PKG.MERGE ');
379: END IF;
380: RAISE e_return;
377: IF l_debug_on THEN
378: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected Error in WSH_WMS_SYNC_TMP_PKG.MERGE ');
379: END IF;
380: RAISE e_return;
381: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING THEN
382: l_num_warnings := l_num_warnings + 1;
383: END IF;
384: --}
385: END IF;
401: p_entity_ids => l_del_tab,
402: x_return_status => l_return_status);
403: END IF; --}
404: -- Common Error Handling for above APIs
405: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR THEN --{
406: IF l_debug_on THEN
407: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_TP_RELEASE.calculate_cont_del_tpdates ');
408: END IF;
409: ROLLBACK TO unassign_backorder_details;
408: END IF;
409: ROLLBACK TO unassign_backorder_details;
410: l_num_errors := l_num_errors + 1;
411: GOTO next_record;
412: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
413: IF l_debug_on THEN
414: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected Error in WSH_TP_RELEASE.calculate_cont_del_tpdates ');
415: END IF;
416: RAISE e_return;
413: IF l_debug_on THEN
414: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected Error in WSH_TP_RELEASE.calculate_cont_del_tpdates ');
415: END IF;
416: RAISE e_return;
417: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING THEN
418: l_num_warnings := l_num_warnings + 1;
419: END IF; --}
420: END IF; --}
421:
429: -- If backordered line remains assigned to delivery, it can retain
430: -- freight costs.
431: -- Bug 2769639 fixes this in the API Unassign_Detail_From_Delivery,
432: -- and it needs to be incorporated here as well.
433: IF WSH_UTIL_CORE.FTE_Is_Installed = 'Y' AND l_new_delivery_id IS NULL THEN --{
434: l_dd_id(1) := p_backorder_rec_tbl(i).delivery_detail_id;
435:
436: IF l_debug_on THEN
437: WSH_DEBUG_SV.log(l_module_name,'Call WSH_FREIGHT_COSTS_PVT.Remove_FTE_Freight_Costs',p_backorder_rec_tbl(i).delivery_detail_id);
444: IF l_debug_on THEN
445: WSH_DEBUG_SV.log(l_module_name,'After WSH_FREIGHT_COSTS_PVT.Remove_FTE_Freight_Costs: return',l_return_status);
446: END IF;
447:
448: IF l_return_status IN (WSH_UTIL_CORE.G_RET_STS_ERROR, WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR) THEN --{
449: FND_MESSAGE.Set_Name('WSH', 'WSH_REPRICE_REQUIRED_ERR');
450: WSH_UTIL_CORE.add_message(l_return_status, l_module_name);
451: IF l_debug_on THEN
452: WSH_DEBUG_SV.logmsg(l_module_name,'Remove_FTE_Freight_Costs failed');
446: END IF;
447:
448: IF l_return_status IN (WSH_UTIL_CORE.G_RET_STS_ERROR, WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR) THEN --{
449: FND_MESSAGE.Set_Name('WSH', 'WSH_REPRICE_REQUIRED_ERR');
450: WSH_UTIL_CORE.add_message(l_return_status, l_module_name);
451: IF l_debug_on THEN
452: WSH_DEBUG_SV.logmsg(l_module_name,'Remove_FTE_Freight_Costs failed');
453: END IF;
454: ROLLBACK TO unassign_backorder_details;
453: END IF;
454: ROLLBACK TO unassign_backorder_details;
455: l_num_errors := l_num_errors + 1;
456: GOTO next_record;
457: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING THEN
458: l_num_warnings := l_num_warnings + 1;
459: END IF; --}
460: END IF; --}
461:
477: p_diff_volume => p_backorder_rec_tbl(i).volume,
478: p_diff_fill_volume => p_backorder_rec_tbl(i).volume,
479: x_return_status => l_return_status);
480:
481: IF (l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR) THEN
482: WSH_UTIL_CORE.Add_Message(l_return_status);
483: IF l_debug_on THEN
484: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_WV_UTILS.DD_WV_Post_Process ');
485: END IF;
478: p_diff_fill_volume => p_backorder_rec_tbl(i).volume,
479: x_return_status => l_return_status);
480:
481: IF (l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR) THEN
482: WSH_UTIL_CORE.Add_Message(l_return_status);
483: IF l_debug_on THEN
484: WSH_DEBUG_SV.logmsg(l_module_name,'Error in WSH_WV_UTILS.DD_WV_Post_Process ');
485: END IF;
486: ROLLBACK TO unassign_backorder_details;
501: x_return_status => l_return_status);
502: IF l_debug_on THEN
503: WSH_DEBUG_SV.log(l_module_name,'Mark_Reprice_Required l_return_status',l_return_status);
504: END IF;
505: IF l_return_status IN (WSH_UTIL_CORE.G_RET_STS_ERROR, WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR) THEN
506: RAISE MARK_REPRICE_ERROR;
507: END IF;
508: END IF; --}
509:
507: END IF;
508: END IF; --}
509:
510: IF (l_num_errors > 0) THEN
511: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
512: ELSIF (l_num_warnings > 0) THEN
513: x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
514: END IF;
515:
509:
510: IF (l_num_errors > 0) THEN
511: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
512: ELSIF (l_num_warnings > 0) THEN
513: x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
514: END IF;
515:
516: IF l_debug_on THEN
517: WSH_DEBUG_SV.pop(l_module_name);
521:
522: WHEN MARK_REPRICE_ERROR THEN
523: x_return_status := l_return_status;
524: FND_MESSAGE.SET_NAME('WSH', 'WSH_REPRICE_REQUIRED_ERR');
525: WSH_UTIL_CORE.add_message(l_return_status,l_module_name);
526: -- OTM R12 : unassign delivery detail
527: IF (c_detail_cont_planning_cur%ISOPEN) THEN
528: CLOSE c_detail_cont_planning_cur;
529: END IF;
534: END IF;
535:
536: WHEN e_return THEN
537: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
538: WSH_UTIL_CORE.default_handler('WSH_USA_INV_PVT.unassign_backordered_details');
539: -- OTM R12 : unassign delivery detail
540: IF (c_detail_cont_planning_cur%ISOPEN) THEN
541: CLOSE c_detail_cont_planning_cur;
542: END IF;
547: END IF;
548:
549: WHEN OTHERS THEN
550: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
551: WSH_UTIL_CORE.default_handler('WSH_USA_INV_PVT.unassign_backordered_details');
552: -- OTM R12 : unassign delivery detail
553: IF (c_detail_cont_planning_cur%ISOPEN) THEN
554: CLOSE c_detail_cont_planning_cur;
555: END IF;
613: --
614: l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PACKAGE_NAME || '.' || 'BACKORDER_DELIVERY_DETAIL';
615: --
616:
617: l_detail_tab WSH_UTIL_CORE.id_tab_type; -- DBI Project
618: l_dbi_rs VARCHAR2(1); -- DBI Project
619: l_dd_txn_id NUMBER; -- DBI Project
620: l_txn_return_status VARCHAR2(1); -- DBI Project
621: l_wf_rs VARCHAR2(1); -- Pick To POD WF project
666: WSH_DEBUG_SV.log(l_module_name,'P_REPLENISHMENT_STATUS',p_replenishment_status);
667: END IF;
668: --
669:
670: x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
671:
672: -- J: W/V Changes
673: OPEN C1;
674: FETCH C1 INTO l_container_id, l_delivery_id;
718: WSH_DD_TXNS_PVT. create_dd_txn_from_dd (
719: p_delivery_detail_id => p_delivery_detail_id,
720: x_dd_txn_id => l_dd_txn_id,
721: x_return_status =>l_txn_return_status);
722: IF (l_txn_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
723: x_return_status := l_txn_return_status;
724: RETURN;
725: END IF;
726: --DBI
768:
769: IF l_debug_on THEN
770: WSH_DEBUG_SV.log(l_module_name,'Return Status after DBI Call-',l_dbi_rs);
771: END IF;
772: IF l_dbi_rs = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
773: x_return_status := l_dbi_rs;
774: -- just pass this return status to caller API
775: IF l_debug_on THEN
776: WSH_DEBUG_SV.logmsg(l_module_name,'DBI API Returned Unexpected error '||x_return_status);
816:
817: IF l_debug_on THEN
818: WSH_DEBUG_SV.log(l_module_name,'After Unassign_Backordered_Details: return',l_return_status);
819: END IF;
820: IF l_return_status IN (WSH_UTIL_CORE.G_RET_STS_ERROR, WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR) THEN
821: x_return_status := l_return_status;
822: WSH_UTIL_CORE.Add_Message(x_return_status);
823: IF l_debug_on THEN
824: WSH_DEBUG_SV.log(l_module_name,'Return Status',x_return_status);
818: WSH_DEBUG_SV.log(l_module_name,'After Unassign_Backordered_Details: return',l_return_status);
819: END IF;
820: IF l_return_status IN (WSH_UTIL_CORE.G_RET_STS_ERROR, WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR) THEN
821: x_return_status := l_return_status;
822: WSH_UTIL_CORE.Add_Message(x_return_status);
823: IF l_debug_on THEN
824: WSH_DEBUG_SV.log(l_module_name,'Return Status',x_return_status);
825: WSH_DEBUG_SV.pop(l_module_name);
826: END IF;
824: WSH_DEBUG_SV.log(l_module_name,'Return Status',x_return_status);
825: WSH_DEBUG_SV.pop(l_module_name);
826: END IF;
827: RETURN;
828: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING THEN
829: IF x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
830: x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
831: END IF;
832: END IF;
825: WSH_DEBUG_SV.pop(l_module_name);
826: END IF;
827: RETURN;
828: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING THEN
829: IF x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
830: x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
831: END IF;
832: END IF;
833: --}
826: END IF;
827: RETURN;
828: ELSIF l_return_status = WSH_UTIL_CORE.G_RET_STS_WARNING THEN
829: IF x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
830: x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
831: END IF;
832: END IF;
833: --}
834: ELSE
847: EXCEPTION
848:
849: WHEN OTHERS THEN
850: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
851: WSH_UTIL_CORE.default_handler('WSH_USA_INV_PVT.backorder_delivery_detail');
852: IF l_debug_on THEN
853: WSH_DEBUG_SV.logmsg(l_module_name,'BACKORDER_DELIVERY_DETAIL_FAILED exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
854: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:BACKORDER_DELIVERY_DETAIL');
855: END IF;
948: END IF;
949:
950: EXCEPTION
951: WHEN totals_failed THEN
952: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
953: WSH_UTIL_CORE.add_message (x_return_status);
954: IF l_debug_on THEN
955: WSH_DEBUG_SV.logmsg(l_module_name,'GET_TOTAL_RESERVED_QUANTITY exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
956: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:GET_TOTAL_RESERVED_QUANTITY');
949:
950: EXCEPTION
951: WHEN totals_failed THEN
952: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
953: WSH_UTIL_CORE.add_message (x_return_status);
954: IF l_debug_on THEN
955: WSH_DEBUG_SV.logmsg(l_module_name,'GET_TOTAL_RESERVED_QUANTITY exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
956: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:GET_TOTAL_RESERVED_QUANTITY');
957: END IF;
957: END IF;
958:
959: WHEN OTHERS THEN
960: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
961: WSH_UTIL_CORE.default_handler('WSH_USA_INV_PVT.Get_total_Reserved_quantity');
962: IF l_debug_on THEN
963: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
964: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
965: END IF;
1128: END IF;
1129: --
1130: EXCEPTION
1131: WHEN query_reservation_failed THEN
1132: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1133: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
1134: IF l_debug_on THEN
1135: WSH_DEBUG_SV.logmsg(l_module_name,'QUERY_RESERVATION_FAILED exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1136: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:QUERY_RESERVATION_FAILED');
1129: --
1130: EXCEPTION
1131: WHEN query_reservation_failed THEN
1132: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1133: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
1134: IF l_debug_on THEN
1135: WSH_DEBUG_SV.logmsg(l_module_name,'QUERY_RESERVATION_FAILED exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
1136: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:QUERY_RESERVATION_FAILED');
1137: END IF;
1236: END IF;
1237: --
1238: EXCEPTION
1239: WHEN delete_reservation_failed THEN
1240: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1241: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
1242: --
1243: -- Debug Statements
1244: --
1237: --
1238: EXCEPTION
1239: WHEN delete_reservation_failed THEN
1240: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1241: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
1242: --
1243: -- Debug Statements
1244: --
1245: IF l_debug_on THEN
1407: END IF;
1408: --
1409: EXCEPTION
1410: WHEN create_reservation_failed THEN
1411: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1412: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
1413: --
1414: -- Debug Statements
1415: --
1408: --
1409: EXCEPTION
1410: WHEN create_reservation_failed THEN
1411: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1412: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
1413: --
1414: -- Debug Statements
1415: --
1416: IF l_debug_on THEN
1541: END IF;
1542: --
1543: EXCEPTION
1544: WHEN update_reservation_failed THEN
1545: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1546: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
1547: --
1548: -- Debug Statements
1549: --
1542: --
1543: EXCEPTION
1544: WHEN update_reservation_failed THEN
1545: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
1546: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
1547: --
1548: -- Debug Statements
1549: --
1550: IF l_debug_on THEN
1825: WSH_DEBUG_SV.log(l_module_name,'p_delivery_detail_split_rec.delivery_detail_id',p_delivery_detail_split_rec.delivery_detail_id);
1826: WSH_DEBUG_SV.log(l_module_name,'p_delivery_detail_split_rec.inventory_item_id',p_delivery_detail_split_rec.inventory_item_id);
1827: END IF;
1828: --
1829: x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
1830:
1831: IF p_cancellation_quantity = 0 THEN
1832: --
1833: -- Debug Statements
2041: END IF;
2042: --
2043: EXCEPTION
2044: WHEN cancel_failed THEN
2045: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
2046: --
2047: -- Debug Statements
2048: --
2049: IF l_debug_on THEN
2051: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:CANCEL_FAILED');
2052: END IF;
2053: --
2054: WHEN others THEN
2055: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
2056: wsh_util_core.default_handler('WSH_USA_INV_PVT.cancel_staged_reservation',l_module_name);
2057:
2058: IF l_debug_on THEN
2059: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
2052: END IF;
2053: --
2054: WHEN others THEN
2055: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
2056: wsh_util_core.default_handler('WSH_USA_INV_PVT.cancel_staged_reservation',l_module_name);
2057:
2058: IF l_debug_on THEN
2059: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
2060: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
2144: WSH_DEBUG_SV.log(l_module_name,'P_CANCELLATION_QUANTITY',P_CANCELLATION_QUANTITY);
2145: WSH_DEBUG_SV.log(l_module_name,'P_CANCELLATION_QUANTITY2',P_CANCELLATION_QUANTITY2);
2146: END IF;
2147: --
2148: x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
2149:
2150: IF p_cancellation_quantity = 0 THEN
2151: --
2152: -- Debug Statements
2532: END IF;
2533: --
2534: EXCEPTION
2535: WHEN cancel_failed THEN
2536: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
2537: --
2538: -- Debug Statements
2539: --
2540: IF l_debug_on THEN
2542: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:CANCEL_FAILED');
2543: END IF;
2544: --
2545: WHEN others THEN
2546: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
2547: wsh_util_core.default_handler('WSH_USA_INV_PVT.cancel_nonstaged_reservation',l_module_name);
2548:
2549: --
2550: -- Debug Statements
2543: END IF;
2544: --
2545: WHEN others THEN
2546: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
2547: wsh_util_core.default_handler('WSH_USA_INV_PVT.cancel_nonstaged_reservation',l_module_name);
2548:
2549: --
2550: -- Debug Statements
2551: --
2869:
2870: --
2871: EXCEPTION
2872: WHEN transfer_split_failed THEN
2873: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
2874: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
2875: IF l_debug_on THEN
2876: WSH_DEBUG_SV.logmsg(l_module_name,'TRANSFER_SPLIT_FAILED exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
2877: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:TRANSFER_SPLIT_FAILED');
2870: --
2871: EXCEPTION
2872: WHEN transfer_split_failed THEN
2873: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
2874: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
2875: IF l_debug_on THEN
2876: WSH_DEBUG_SV.logmsg(l_module_name,'TRANSFER_SPLIT_FAILED exception has occured.',WSH_DEBUG_SV.C_EXCEP_LEVEL);
2877: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:TRANSFER_SPLIT_FAILED');
2878: END IF;
2877: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:TRANSFER_SPLIT_FAILED');
2878: END IF;
2879: --
2880: WHEN others THEN
2881: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
2882: wsh_util_core.default_handler('WSH_USA_INV_PVT.reservation_split_action',l_module_name);
2883: IF l_debug_on THEN
2884: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
2885: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
2878: END IF;
2879: --
2880: WHEN others THEN
2881: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
2882: wsh_util_core.default_handler('WSH_USA_INV_PVT.reservation_split_action',l_module_name);
2883: IF l_debug_on THEN
2884: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
2885: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
2886: END IF;
2920: l_split_quantity2 NUMBER ;
2921: l_sales_order_id NUMBER;
2922: l_reservation_id NUMBER;
2923:
2924: l_detail_tab WSH_UTIL_CORE.id_tab_type; -- DBI Project
2925: l_dbi_rs VARCHAR2(1); -- DBI Project
2926:
2927: l_wf_rs VARCHAR2(1); --Pick to POD WF Project
2928: l_organization_id NUMBER; --Pick to POD WF Project
3024: WSH_DEBUG_SV.log(l_module_name,'Cancel_Move_Order_Line x_return_status',x_return_status);
3025: END IF;
3026:
3027: -- bug 5226867
3028: IF (x_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR) THEN
3029: --
3030: IF l_debug_on THEN
3031: WSH_DEBUG_SV.log(l_module_name,'Cancel_Move_Order_Line returned unexpected error');
3032: END IF;
3032: END IF;
3033:
3034: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3035: --
3036: ELSIF (x_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR) THEN
3037: --
3038: IF l_debug_on THEN
3039: WSH_DEBUG_SV.log(l_module_name,'Cancel_Move_Order_Line returned error');
3040: END IF;
3092:
3093: IF l_debug_on THEN
3094: WSH_DEBUG_SV.log(l_module_name,'Return Status after DBI Call-',l_dbi_rs);
3095: END IF;
3096: IF l_dbi_rs = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
3097: x_return_status := l_dbi_rs;
3098: -- just pass this return status to caller API
3099: IF l_debug_on THEN
3100: WSH_DEBUG_SV.pop(l_module_name,'DBI API Returned Unexpected error '||x_return_status);
3273: END IF;
3274: --
3275: EXCEPTION
3276: WHEN split_failed THEN
3277: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
3278: --
3279: -- Debug Statements
3280: --
3281: IF l_debug_on THEN
3285: --
3286: -- bug 5226867
3287: -- Added the new excpetion for unexpected error
3288: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3289: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR ;
3290: --
3291: -- Debug Statements
3292: --
3293: IF l_debug_on THEN
3296: END IF;
3297: --
3298: -- bug 5226867
3299: WHEN others THEN
3300: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
3301: wsh_util_core.default_handler('WSH_USA_INV_PVT.split_reservation',l_module_name);
3302:
3303: --
3304: -- Debug Statements
3297: --
3298: -- bug 5226867
3299: WHEN others THEN
3300: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
3301: wsh_util_core.default_handler('WSH_USA_INV_PVT.split_reservation',l_module_name);
3302:
3303: --
3304: -- Debug Statements
3305: --
3397: WSH_DEBUG_SV.log(l_module_name,'Unmark_Serial_Number x_return_status',x_return_status);
3398: END IF;
3399: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
3400: x_return_status := FND_API.G_RET_STS_ERROR;
3401: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
3402: --
3403: -- Debug Statements
3404: --
3405: IF l_debug_on THEN
3427: EXCEPTION
3428:
3429: WHEN OTHERS THEN
3430: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3431: WSH_UTIL_CORE.default_handler('WSH_USA_INV_PVT.update_serial_numbers',l_module_name);
3432:
3433: --
3434: -- Debug Statements
3435: --
3507: l_global_param_rec_type WSH_SHIPPING_PARAMS_PVT.Global_Parameters_Rec_Typ;
3508:
3509: -- Added tables to call the wsh_delivery_details_actions.Consolidate_Source_Lines
3510: l_Cons_Source_Line_Rec_Tab WSH_DELIVERY_DETAILS_ACTIONS.Cons_Source_Line_Rec_Tab;
3511: l_cons_dd_ids WSH_UTIL_CORE.Id_Tab_Type;
3512:
3513: -- To store the shipping global parameter "Consolidate BO lines" value
3514: l_auto_consolidate VARCHAR2(1) := 'N';
3515: -- To check the consolidation happened or Not
3545: l_cont_item_id NUMBER ;
3546: l_cont_instance_id NUMBER ;
3547: l_num_containers NUMBER ;
3548: l_organization_id NUMBER ;
3549: l_delivery_detail_ids WSH_UTIL_CORE.Id_Tab_Type;
3550: l_row_id VARCHAR2(30);
3551: l_request_id NUMBER;
3552: l_msg VARCHAR2(2000) := NULL;
3553: l_item_name VARCHAR2(2000):=NULL; -- Bug 1577237 : Earlier this was 40 characters long.
3570: l_update_transaction_temp_id VARCHAR2(1);
3571: l_update_shipped_quantity VARCHAR2(1);
3572:
3573: l_copy_detail_rec WSH_GLBL_VAR_STRCT_GRP.Delivery_Details_Rec_Type;
3574: l_details_to_delete WSH_UTIL_CORE.Id_Tab_Type;
3575: l_delete_count NUMBER := 0;
3576:
3577: l_overpick_rec WSH_INTERFACE.ChangedAttributeRecType;
3578: l_source_code WSH_DELIVERY_DETAILS.SOURCE_CODE%TYPE;
3618: l_service_level WSH_DELIVERY_DETAILS.service_level%TYPE;
3619: l_carrier_id NUMBER;
3620:
3621: -- K LPN CONV. rvishnuv
3622: l_cont_tab wsh_util_core.id_tab_type;
3623: l_lpn_unit_weight NUMBER;
3624: l_lpn_unit_volume NUMBER;
3625: l_lpn_weight_uom_code VARCHAR2(100);
3626: l_lpn_volume_uom_code VARCHAR2(100);
3637: l_volume NUMBER;
3638:
3639: -- deliveryMerge
3640: Adjust_Planned_Flag_Err EXCEPTION;
3641: l_adjust_planned_del_tab WSH_UTIL_CORE.Id_Tab_Type;
3642: l_delivery_already_included boolean;
3643:
3644: -- inbound --jckwok
3645: Delivery_Line_Direction_Err EXCEPTION;
3643:
3644: -- inbound --jckwok
3645: Delivery_Line_Direction_Err EXCEPTION;
3646: --Added for bug 5234326
3647: l_cnt_tab WSH_UTIL_CORE.Id_Tab_Type;
3648:
3649: l_det_tab WSH_UTIL_CORE.Id_Tab_Type;
3650:
3651: l_detail_tab WSH_UTIL_CORE.id_tab_type; -- DBI Project
3645: Delivery_Line_Direction_Err EXCEPTION;
3646: --Added for bug 5234326
3647: l_cnt_tab WSH_UTIL_CORE.Id_Tab_Type;
3648:
3649: l_det_tab WSH_UTIL_CORE.Id_Tab_Type;
3650:
3651: l_detail_tab WSH_UTIL_CORE.id_tab_type; -- DBI Project
3652: l_dbi_rs VARCHAR2(1); -- DBI Project
3653: l_dd_txn_id NUMBER; -- DBI Project
3647: l_cnt_tab WSH_UTIL_CORE.Id_Tab_Type;
3648:
3649: l_det_tab WSH_UTIL_CORE.Id_Tab_Type;
3650:
3651: l_detail_tab WSH_UTIL_CORE.id_tab_type; -- DBI Project
3652: l_dbi_rs VARCHAR2(1); -- DBI Project
3653: l_dd_txn_id NUMBER; -- DBI Project
3654: l_txn_return_status VARCHAR2(1); -- DBI Project
3655:
3705: IF l_debug_on THEN
3706: WSH_DEBUG_SV.push(l_module_name);
3707: END IF;
3708: --
3709: x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
3710: l_multiple_update := 'N';
3711:
3712: -- deliveryMerge
3713: l_adjust_planned_del_tab.delete;
3731: x_msg_data => l_msg_data) ;
3732: IF l_debug_on THEN
3733: WSH_DEBUG_SV.log(l_module_name,'After call to Get_Inv_PC_Attributes ',l_return_status);
3734: END IF;
3735: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
3736: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
3737: IF l_debug_on THEN
3738: WSH_DEBUG_SV.logmsg(l_module_name, 'Errored out in Get_Inv_PC_Attributes ' );
3739: END IF;
3732: IF l_debug_on THEN
3733: WSH_DEBUG_SV.log(l_module_name,'After call to Get_Inv_PC_Attributes ',l_return_status);
3734: END IF;
3735: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
3736: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
3737: IF l_debug_on THEN
3738: WSH_DEBUG_SV.logmsg(l_module_name, 'Errored out in Get_Inv_PC_Attributes ' );
3739: END IF;
3740: ELSE
3774:
3775: IF l_debug_on THEN
3776: WSH_DEBUG_SV.log(l_module_name,'After call to Set_Inv_PC_Attributes ',l_return_status);
3777: END IF;
3778: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
3779: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
3780: IF l_debug_on THEN
3781: WSH_DEBUG_SV.logmsg(l_module_name, 'Errored out in Set_Inv_PC_Attributes ' );
3782: END IF;
3775: IF l_debug_on THEN
3776: WSH_DEBUG_SV.log(l_module_name,'After call to Set_Inv_PC_Attributes ',l_return_status);
3777: END IF;
3778: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
3779: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
3780: IF l_debug_on THEN
3781: WSH_DEBUG_SV.logmsg(l_module_name, 'Errored out in Set_Inv_PC_Attributes ' );
3782: END IF;
3783: END IF;
3796: l_ship_status := 'having more than 1 record from inventory to be processed';
3797: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
3798: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
3799: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'transaction_temp_id');
3800: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
3801: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
3802: IF l_debug_on THEN
3803: WSH_DEBUG_SV.pop(l_module_name,'ERROR:REJECT INV REQUEST');
3804: END IF;
3797: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
3798: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
3799: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'transaction_temp_id');
3800: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
3801: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
3802: IF l_debug_on THEN
3803: WSH_DEBUG_SV.pop(l_module_name,'ERROR:REJECT INV REQUEST');
3804: END IF;
3805: RETURN;
3902: -- J: raise an exception if line_direction is not 'outbound' or 'internal order' -- jckwok
3903: IF (old_delivery_detail_rec.line_direction NOT IN ('O', 'IO')) THEN
3904: FND_MESSAGE.Set_Name('WSH', 'WSH_DEL_LINE_DIR_INVALID');
3905: FND_MESSAGE.Set_Token('DELIVERY_DETAIL_ID', old_delivery_detail_rec.delivery_detail_id);
3906: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
3907: IF l_debug_on THEN
3908: WSH_DEBUG_SV.logmsg(l_module_name,'ERROR: operation is invalid for delivery line direction');
3909: END IF;
3910: raise Delivery_Line_Direction_Err;
3929: IF OLD_DELIVERY_DETAIL_REC.RELEASED_STATUS = 'N'
3930: AND p_changed_attributes(l_Counter).action_flag <> 'B'
3931: THEN
3932:
3933: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
3934:
3935: FND_MESSAGE.SET_NAME('WSH', 'WSH_PICK_CONFIRM_NOT_READY');
3936:
3937: FND_MESSAGE.SET_TOKEN('SOURCE_LINE_NUM',
3938: old_delivery_detail_rec.source_line_number);
3939: FND_MESSAGE.SET_TOKEN('SOURCE_ORDER_NUM',
3940: old_delivery_detail_rec.source_header_number);
3941:
3942: WSH_UTIL_CORE.add_message (x_return_status, l_module_name);
3943:
3944: IF l_debug_on THEN
3945: WSH_DEBUG_SV.logmsg(l_module_name, 'detail is not ready to release.');
3946: WSH_DEBUG_SV.pop(l_module_name);
4027:
4028: -- Bug 3724578 : Return back to the caller if any error occures while
4029: -- splitting the delivery detail line
4030: --- Message will be set in Split_Delivery_Details
4031: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4032: x_return_status := l_return_status;
4033: return;
4034: END IF;
4035:
4096:
4097: -- Bug 3724578 : Return back to the caller if any error occures while
4098: -- splitting the delivery detail line
4099: --- Message will be set in Split_Delivery_Details
4100: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4101: x_return_status := l_return_status;
4102: return;
4103: END IF;
4104: END IF;
4207:
4208: -- Bug 3724578 : Return back to the caller if any error occures while
4209: -- splitting the delivery detail line
4210: -- Message will be set in Split_Delivery_Details
4211: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4212: x_return_status := l_return_status;
4213: return;
4214: END IF;
4215:
4248: -- DBI API can only raise unexpected error, in that case need to
4249: -- pass it to the caller API for roll back of the whole transaction
4250: -- Only need to handle Unexpected error, rest are treated as success
4251: -- Since code is not proceeding, no need to reset x_return_status
4252: IF l_dbi_rs = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
4253: x_return_status := l_dbi_rs;
4254: IF l_debug_on THEN
4255: WSH_DEBUG_SV.pop(l_module_name);
4256: END IF;
4280: p_calc_wv_if_frozen => 'N',
4281: x_net_weight => l_net_weight,
4282: x_volume => l_volume,
4283: x_return_status => l_return_status);
4284: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR THEN
4285: x_return_status := l_return_status;
4286: IF l_debug_on THEN
4287: WSH_DEBUG_SV.logmsg(l_module_name,'Detail_Weight_Volume returned '|| l_return_status);
4288: WSH_DEBUG_SV.pop(l_module_name);
4306: x_dd_txn_id => l_dd_txn_id,
4307: x_return_status =>l_txn_return_status
4308: );
4309:
4310: IF (l_txn_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4311: x_return_status := l_txn_return_status;
4312: return;
4313: END IF;
4314: --DBI Api
4365: -- DBI API can only raise unexpected error, in that case need to
4366: -- pass it to the caller API for roll back of the whole transaction
4367: -- Only need to handle Unexpected error, rest are treated as success
4368: -- Since code is not proceeding, no need to reset x_return_status
4369: IF l_dbi_rs = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
4370: x_return_status := l_dbi_rs;
4371: IF l_debug_on THEN
4372: WSH_DEBUG_SV.pop(l_module_name);
4373: END IF;
4411: WSH_DEBUG_SV.log(l_module_name,'Split_Delivery_Details l_return_status',l_return_status);
4412: WSH_DEBUG_SV.log(l_module_name,'Split_Delivery_Details is ',l_dummy_detail_id);
4413: END IF;
4414:
4415: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4416: x_return_status := l_return_status;
4417: return;
4418: END IF;
4419:
4438: p_del_batch_id => l_del_batch_id,
4439: x_split_quantity => l_split_quantity,
4440: x_return_status => l_return_status
4441: );
4442: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4443: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
4444: END IF;
4445: GOTO loop_end;
4446:
4439: x_split_quantity => l_split_quantity,
4440: x_return_status => l_return_status
4441: );
4442: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4443: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
4444: END IF;
4445: GOTO loop_end;
4446:
4447: -- if action_flag = 'R'
4461: --
4462: IF l_debug_on THEN
4463: WSH_DEBUG_SV.logmsg(l_module_name, 'CYCLE_COUNT_QUANTITY = ' || P_CHANGED_ATTRIBUTES ( L_COUNTER ) .CYCLE_COUNT_QUANTITY );
4464: WSH_DEBUG_SV.logmsg(l_module_name, 'L_REQUEST_ID = ' || L_REQUEST_ID );
4465: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.GET_ITEM_NAME',WSH_DEBUG_SV.C_PROC_LEVEL);
4466: END IF;
4467:
4468: l_item_name := WSH_UTIL_CORE.Get_Item_Name(old_delivery_detail_rec.inventory_item_id,old_delivery_detail_rec.organization_id);
4469: IF (old_delivery_detail_rec.ship_set_id IS NOT NULL) OR
4464: WSH_DEBUG_SV.logmsg(l_module_name, 'L_REQUEST_ID = ' || L_REQUEST_ID );
4465: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.GET_ITEM_NAME',WSH_DEBUG_SV.C_PROC_LEVEL);
4466: END IF;
4467:
4468: l_item_name := WSH_UTIL_CORE.Get_Item_Name(old_delivery_detail_rec.inventory_item_id,old_delivery_detail_rec.organization_id);
4469: IF (old_delivery_detail_rec.ship_set_id IS NOT NULL) OR
4470: (old_delivery_detail_rec.top_model_line_id IS NOT NULL ) THEN
4471:
4472: -- Line belongs to Ship Set / SMC
4558: AND set_type = 'SHIP_SET';
4559: END IF;
4560:
4561: IF l_debug_on THEN
4562: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.GET_ITEM_NAME',WSH_DEBUG_SV.C_PROC_LEVEL);
4563: END IF;
4564: --
4565: g_backordered_item := WSH_UTIL_CORE.Get_Item_Name(l_backordered_item_id,old_delivery_detail_rec.organization_id);
4566: --
4561: IF l_debug_on THEN
4562: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.GET_ITEM_NAME',WSH_DEBUG_SV.C_PROC_LEVEL);
4563: END IF;
4564: --
4565: g_backordered_item := WSH_UTIL_CORE.Get_Item_Name(l_backordered_item_id,old_delivery_detail_rec.organization_id);
4566: --
4567: --
4568: IF l_debug_on THEN
4569: WSH_DEBUG_SV.logmsg(l_module_name, 'FOUND NEW G_MOVE_ORDER_LINE_ID = ' || G_MOVE_ORDER_LINE_ID ||
4660: WHERE line_id = g_ship_model_id;
4661: END IF;
4662: --
4663: IF l_debug_on THEN
4664: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.GET_ITEM_NAME',WSH_DEBUG_SV.C_PROC_LEVEL);
4665: END IF;
4666: --
4667: g_backordered_item := WSH_UTIL_CORE.Get_Item_Name(l_backordered_item_id,old_delivery_detail_rec.organization_id);
4668: --
4663: IF l_debug_on THEN
4664: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_UTIL_CORE.GET_ITEM_NAME',WSH_DEBUG_SV.C_PROC_LEVEL);
4665: END IF;
4666: --
4667: g_backordered_item := WSH_UTIL_CORE.Get_Item_Name(l_backordered_item_id,old_delivery_detail_rec.organization_id);
4668: --
4669: g_top_model_item := WSH_UTIL_CORE.Get_Item_Name(l_top_model_item_id,old_delivery_detail_rec.organization_id);
4670: --
4671: WSH_INTEGRATION.G_BackorderRec_Tbl.DELETE(l_backorder_cnt);
4665: END IF;
4666: --
4667: g_backordered_item := WSH_UTIL_CORE.Get_Item_Name(l_backordered_item_id,old_delivery_detail_rec.organization_id);
4668: --
4669: g_top_model_item := WSH_UTIL_CORE.Get_Item_Name(l_top_model_item_id,old_delivery_detail_rec.organization_id);
4670: --
4671: WSH_INTEGRATION.G_BackorderRec_Tbl.DELETE(l_backorder_cnt);
4672: EXIT;
4673: END IF;
4936: IF l_debug_on THEN
4937: WSH_DEBUG_SV.logmsg(l_module_name, 'After calling Get_Global_Parameters: ' || l_return_status );
4938: END IF;
4939: --
4940: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4941: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
4942: END IF;
4943: l_auto_consolidate := l_global_param_rec_type.consolidate_bo_lines;
4944: END IF; --}, l_planned_flag
4937: WSH_DEBUG_SV.logmsg(l_module_name, 'After calling Get_Global_Parameters: ' || l_return_status );
4938: END IF;
4939: --
4940: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4941: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
4942: END IF;
4943: l_auto_consolidate := l_global_param_rec_type.consolidate_bo_lines;
4944: END IF; --}, l_planned_flag
4945:
4971:
4972: IF l_debug_on THEN
4973: WSH_DEBUG_SV.log(l_module_name,'After calling CONSOLIDATE_SOURCE_LINE: ',l_return_status);
4974: END IF;
4975: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4976: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
4977: END IF;
4978: -- Checking consolidation is done or not
4979:
4972: IF l_debug_on THEN
4973: WSH_DEBUG_SV.log(l_module_name,'After calling CONSOLIDATE_SOURCE_LINE: ',l_return_status);
4974: END IF;
4975: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
4976: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
4977: END IF;
4978: -- Checking consolidation is done or not
4979:
4980: IF ( l_cons_dd_ids(1) <> p_Changed_attributes(l_counter).delivery_detail_id ) THEN
5011:
5012: -- Bug 3724578 : Return back to the caller if any error occures while
5013: -- splitting the delivery detail line
5014: -- Message will be set in Split_Delivery_Details
5015: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
5016: x_return_status := l_return_status;
5017: return;
5018: END IF;
5019:
5050: IF l_debug_on THEN
5051: WSH_DEBUG_SV.log(l_module_name,'After calling CONSOLIDATE_SOURCE_LINE: ',l_return_status);
5052: END IF;
5053:
5054: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
5055: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5056: END IF;
5057:
5058: IF ( l_cons_dd_ids(1) <> p_Changed_attributes(l_counter).delivery_detail_id ) THEN
5051: WSH_DEBUG_SV.log(l_module_name,'After calling CONSOLIDATE_SOURCE_LINE: ',l_return_status);
5052: END IF;
5053:
5054: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
5055: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5056: END IF;
5057:
5058: IF ( l_cons_dd_ids(1) <> p_Changed_attributes(l_counter).delivery_detail_id ) THEN
5059: l_cons_flag := 'Y';
5097: p_del_batch_id => l_del_batch_id,
5098: x_split_quantity => l_split_quantity,
5099: x_return_status => l_return_status
5100: );
5101: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
5102: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5103: END IF;
5104:
5105:
5098: x_split_quantity => l_split_quantity,
5099: x_return_status => l_return_status
5100: );
5101: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
5102: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5103: END IF;
5104:
5105:
5106: IF l_split_quantity = 0 THEN
5164: --
5165: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5166: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5167: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'transfer lpn id');
5168: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5169: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
5170: ELSE
5171: IF (l_parent_detail_id IS NOT NULL) THEN
5172:
5165: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5166: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5167: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'transfer lpn id');
5168: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5169: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
5170: ELSE
5171: IF (l_parent_detail_id IS NOT NULL) THEN
5172:
5173: l_msg := NULL;
5196: );
5197: IF l_debug_on THEN
5198: WSH_DEBUG_SV.log(l_module_name,'log_exception l_exception_return_status',l_exception_return_status);
5199: END IF;
5200: IF (l_exception_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
5201: --
5202: -- Debug Statements
5203: --
5204: IF l_debug_on THEN
5283: p_ignore_for_planning => old_delivery_detail_rec.ignore_for_planning,
5284: p_caller => l_create_cnt_caller);
5285:
5286: IF (l_cont_tab.count = 0) THEN
5287: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5288: --
5289: -- Debug Statements
5290: --
5291: IF l_debug_on THEN
5302: IF l_debug_on THEN
5303: WSH_DEBUG_SV.log(l_module_name,'Create_Cont_Instance_Multi l_return_status',l_return_status);
5304: END IF;
5305:
5306: IF (l_return_status NOT IN (WSH_UTIL_CORE.G_RET_STS_SUCCESS,
5307: WSH_UTIL_CORE.G_RET_STS_WARNING)) THEN
5308: x_return_status := l_return_status;
5309: IF l_debug_on THEN
5310: WSH_DEBUG_SV.pop(l_module_name);
5303: WSH_DEBUG_SV.log(l_module_name,'Create_Cont_Instance_Multi l_return_status',l_return_status);
5304: END IF;
5305:
5306: IF (l_return_status NOT IN (WSH_UTIL_CORE.G_RET_STS_SUCCESS,
5307: WSH_UTIL_CORE.G_RET_STS_WARNING)) THEN
5308: x_return_status := l_return_status;
5309: IF l_debug_on THEN
5310: WSH_DEBUG_SV.pop(l_module_name);
5311: END IF;
5405: WSH_WMS_LPN_GRP.g_caller := l_original_caller;
5406: WSH_WMS_LPN_GRP.g_callback_required := l_orig_callback_reqd;
5407: -- LPN CONV rv
5408: --
5409: IF (l_return_status NOT IN (WSH_UTIL_CORE.G_RET_STS_SUCCESS,
5410: WSH_UTIL_CORE.G_RET_STS_WARNING)) THEN
5411: x_return_status := l_return_status;
5412: RETURN;
5413: END IF ;
5406: WSH_WMS_LPN_GRP.g_callback_required := l_orig_callback_reqd;
5407: -- LPN CONV rv
5408: --
5409: IF (l_return_status NOT IN (WSH_UTIL_CORE.G_RET_STS_SUCCESS,
5410: WSH_UTIL_CORE.G_RET_STS_WARNING)) THEN
5411: x_return_status := l_return_status;
5412: RETURN;
5413: END IF ;
5414:
5425: IF l_debug_on THEN
5426: WSH_DEBUG_SV.log(l_module_name,'calculate_cont_del_tpdates l_return_status',l_return_status);
5427: END IF;
5428:
5429: IF (l_return_status NOT IN (WSH_UTIL_CORE.G_RET_STS_SUCCESS,
5430: WSH_UTIL_CORE.G_RET_STS_WARNING)) THEN
5431: x_return_status := l_return_status;
5432: RETURN;
5433: END IF ;
5426: WSH_DEBUG_SV.log(l_module_name,'calculate_cont_del_tpdates l_return_status',l_return_status);
5427: END IF;
5428:
5429: IF (l_return_status NOT IN (WSH_UTIL_CORE.G_RET_STS_SUCCESS,
5430: WSH_UTIL_CORE.G_RET_STS_WARNING)) THEN
5431: x_return_status := l_return_status;
5432: RETURN;
5433: END IF ;
5434:
5464: IF l_debug_on THEN
5465: WSH_DEBUG_SV.log(l_module_name,'Update_Cont_Hierarchy l_return_status',l_return_status);
5466: END IF;
5467:
5468: IF l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
5469: FND_MESSAGE.SET_NAME('WSH','WSH_CONT_UPD_ATTR_ERROR');
5470: FND_MESSAGE.SET_TOKEN('CONT_NAME',l_cont_name);
5471: WSH_UTIL_CORE.Add_Message(l_return_status,l_module_name);
5472: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
5467:
5468: IF l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
5469: FND_MESSAGE.SET_NAME('WSH','WSH_CONT_UPD_ATTR_ERROR');
5470: FND_MESSAGE.SET_TOKEN('CONT_NAME',l_cont_name);
5471: WSH_UTIL_CORE.Add_Message(l_return_status,l_module_name);
5472: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
5473: END IF;
5474:
5475: END IF;--}
5468: IF l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
5469: FND_MESSAGE.SET_NAME('WSH','WSH_CONT_UPD_ATTR_ERROR');
5470: FND_MESSAGE.SET_TOKEN('CONT_NAME',l_cont_name);
5471: WSH_UTIL_CORE.Add_Message(l_return_status,l_module_name);
5472: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
5473: END IF;
5474:
5475: END IF;--}
5476:
5493: IF ( l_reject_update = 'Y' ) THEN
5494: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5495: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5496: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'subinventory');
5497: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5498: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
5499: ELSE
5500: -- bug 2302693: we do not log an exception if the line is packed
5501: -- and its subinventory was not null before pick confirm.
5494: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5495: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5496: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'subinventory');
5497: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5498: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
5499: ELSE
5500: -- bug 2302693: we do not log an exception if the line is packed
5501: -- and its subinventory was not null before pick confirm.
5502: -- The reason is that the item is being moved from a source subinventory
5521: l_ship_status := 'confirmed, in-transit or closed';
5522: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5523: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5524: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'locator_id');
5525: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5526: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
5527: ELSE
5528: -- bug 2302693: we do not log an exception if the line is packed
5529: -- and its inventory control was not null before pick confirm.
5522: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5523: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5524: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'locator_id');
5525: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5526: WSH_UTIL_CORE.add_message (x_return_status,l_module_name);
5527: ELSE
5528: -- bug 2302693: we do not log an exception if the line is packed
5529: -- and its inventory control was not null before pick confirm.
5530: -- The reason is that before pick confirm, we assume packing is planned.
5547: l_ship_status := 'confirmed, in-transit or closed';
5548: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5549: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5550: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'revision');
5551: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5552: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5553: ELSE
5554: -- bug 2302693: we do not log an exception if the line is packed
5555: -- and its inventory control was not null before pick confirm.
5548: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5549: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5550: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'revision');
5551: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5552: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5553: ELSE
5554: -- bug 2302693: we do not log an exception if the line is packed
5555: -- and its inventory control was not null before pick confirm.
5556: -- The reason is that before pick confirm, we assume packing is planned.
5583: l_ship_status := 'confirmed, in-transit or closed';
5584: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5585: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5586: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'lot_number');
5587: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5588: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5589: ELSE
5590: -- bug 2302693: we do not log an exception if the line is packed
5591: -- and its inventory control was not null before pick confirm.
5584: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5585: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5586: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'lot_number');
5587: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5588: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5589: ELSE
5590: -- bug 2302693: we do not log an exception if the line is packed
5591: -- and its inventory control was not null before pick confirm.
5592: -- The reason is that before pick confirm, we assume packing is planned.
5612: l_ship_status := 'confirmed, in-transit or closed';
5613: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5614: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5615: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'preferred_grade');
5616: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5617: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5618: ELSE
5619: -- bug 2302693: we do not log an exception if the line is packed
5620: -- and its inventory control was not null before pick confirm.
5613: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5614: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5615: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'preferred_grade');
5616: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5617: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5618: ELSE
5619: -- bug 2302693: we do not log an exception if the line is packed
5620: -- and its inventory control was not null before pick confirm.
5621: -- The reason is that before pick confirm, we assume packing is planned.
5643: l_ship_status := 'confirmed, in-transit or closed';
5644: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5645: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5646: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'transaction_temp_id');
5647: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5648: WSH_UTIL_CORE.Add_Message(x_return_status);
5649: ELSE
5650: l_update_transaction_temp_id := 'Y';
5651: END IF; -- End of if l_reject_update = 'Y'
5644: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5645: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5646: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'transaction_temp_id');
5647: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5648: WSH_UTIL_CORE.Add_Message(x_return_status);
5649: ELSE
5650: l_update_transaction_temp_id := 'Y';
5651: END IF; -- End of if l_reject_update = 'Y'
5652: END IF; -- End of if transaction_temp_id
5665: l_ship_status := 'confirmed, in-transit or closed';
5666: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5667: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5668: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'serial_number');
5669: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5670: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5671: ELSE
5672: -- bug 2302693: we do not log an exception if the line is packed
5673: -- and its inventory control was not null before pick confirm.
5666: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5667: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5668: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'serial_number');
5669: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5670: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5671: ELSE
5672: -- bug 2302693: we do not log an exception if the line is packed
5673: -- and its inventory control was not null before pick confirm.
5674: -- The reason is that before pick confirm, we assume packing is planned.
5691: l_ship_status := 'confirmed, in-transit or closed';
5692: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5693: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5694: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'released_status');
5695: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5696: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5697: ELSE
5698: l_update_rel_status := 'Y';
5699:
5692: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_UPDATE_REQUEST');
5693: FND_MESSAGE.Set_Token('SHIP_STATUS', l_ship_status);
5694: FND_MESSAGE.Set_Token('UPDATE_ATTRIBUTE', 'released_status');
5695: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5696: WSH_UTIL_CORE.Add_Message(x_return_status,l_module_name);
5697: ELSE
5698: l_update_rel_status := 'Y';
5699:
5700: -- start overpicking logic
5779: WSH_DEBUG_SV.log(l_module_name,'check_quantity_to_pick l_max_qty ', l_max_quantity);
5780: --Bug 7131800
5781: END IF;
5782:
5783: IF l_rs = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
5784: --Bug 7131800
5785: IF l_debug_on THEN
5786: WSH_DEBUG_SV.logmsg(l_module_name,'Calling program unit WSH_SHIPPING_PARAMS_PVT.GET',
5787: WSH_DEBUG_SV.C_PROC_LEVEL);
5807: WSH_DEBUG_SV.log(l_module_name,'l_process_flag',l_process_flag);
5808: END IF;
5809:
5810:
5811: IF l_ret_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
5812: l_retain_nonstaged_dd_param := nvl(l_ship_params.retain_nonstaged_det_flag,'N');
5813: IF ( l_process_flag = FND_API.G_FALSE AND l_retain_nonstaged_dd_param = 'Y') THEN
5814: l_new_req_quantity := l_detail_info.requested_quantity + (l_avail_quantity - LEAST(l_max_quantity -(p_changed_attributes(l_counter).picked_quantity - l_detail_info.requested_quantity), l_avail_quantity));
5815: ELSE
5818: END IF;
5819: -- HW added qty2 for OPM
5820: l_new_req_quantity2 := nvl(LEAST(p_changed_attributes(l_counter).picked_quantity2,l_avail_quantity2),0);
5821: ELSE
5822: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5823: l_new_req_quantity := NULL;
5824: l_new_req_quantity2 := NULL;
5825: END IF;
5826: --Bug 7131800
5824: l_new_req_quantity2 := NULL;
5825: END IF;
5826: --Bug 7131800
5827: ELSE
5828: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5829: -- HW OPM added qty2
5830: l_new_req_quantity := NULL;
5831: l_new_req_quantity2 := NULL;
5832:
5911: FND_MESSAGE.Set_Name('WSH', 'WSH_REJECT_INV_REQUEST');
5912: FND_MESSAGE.Set_Token('TRANSACTION_TEMP_ID', l_transaction_temp_id);
5913: FND_MESSAGE.Set_Token('SERIAL_NUMBER', p_changed_attributes(l_counter).serial_number);
5914: FND_MESSAGE.Set_Token('PICKED_QUANTITY', p_changed_attributes(l_counter).picked_quantity);
5915: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5916: WSH_UTIL_CORE.Add_Message(x_return_status);
5917:
5918: END IF;
5919:
5912: FND_MESSAGE.Set_Token('TRANSACTION_TEMP_ID', l_transaction_temp_id);
5913: FND_MESSAGE.Set_Token('SERIAL_NUMBER', p_changed_attributes(l_counter).serial_number);
5914: FND_MESSAGE.Set_Token('PICKED_QUANTITY', p_changed_attributes(l_counter).picked_quantity);
5915: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5916: WSH_UTIL_CORE.Add_Message(x_return_status);
5917:
5918: END IF;
5919:
5920:
5972: IF l_debug_on THEN
5973: WSH_DEBUG_SV.logmsg(l_module_name, 'After calling Get_Global_Parameters: ' || l_return_status );
5974: END IF;
5975: --
5976: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
5977: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5978: END IF;
5979: l_auto_consolidate := l_global_param_rec_type.consolidate_bo_lines;
5980: END IF;
5973: WSH_DEBUG_SV.logmsg(l_module_name, 'After calling Get_Global_Parameters: ' || l_return_status );
5974: END IF;
5975: --
5976: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
5977: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
5978: END IF;
5979: l_auto_consolidate := l_global_param_rec_type.consolidate_bo_lines;
5980: END IF;
5981:
6032:
6033: IF l_debug_on THEN
6034: WSH_DEBUG_SV.log(l_module_name,'After calling CONSOLIDATE_SOURCE_LINE: ',l_return_status);
6035: END IF;
6036: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6037: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6038: END IF;
6039:
6040: IF ( l_cons_dd_ids(1) <> p_Changed_attributes(l_counter).delivery_detail_id ) THEN
6033: IF l_debug_on THEN
6034: WSH_DEBUG_SV.log(l_module_name,'After calling CONSOLIDATE_SOURCE_LINE: ',l_return_status);
6035: END IF;
6036: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6037: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6038: END IF;
6039:
6040: IF ( l_cons_dd_ids(1) <> p_Changed_attributes(l_counter).delivery_detail_id ) THEN
6041: l_cons_flag := 'Y';
6068:
6069: -- Bug 3724578 : Return back to the caller if any error occures while
6070: -- splitting the delivery detail line
6071: --- Message will be set in Split_Delivery_Details
6072: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6073: x_return_status := l_return_status;
6074: return;
6075: END IF;
6076:
6113: p_del_batch_id => l_del_batch_id,
6114: x_split_quantity => l_dummy_quantity,
6115: x_return_status => l_return_status
6116: );
6117: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6118: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6119: END IF;
6120: END IF; -- No Consolidation check.
6121: ELSE
6114: x_split_quantity => l_dummy_quantity,
6115: x_return_status => l_return_status
6116: );
6117: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6118: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6119: END IF;
6120: END IF; -- No Consolidation check.
6121: ELSE
6122: l_dummy_detail_id := p_Changed_attributes(l_counter).delivery_detail_id;
6215: -- DBI API can only raise unexpected error, in that case need to
6216: -- pass it to the caller API for roll back of the whole transaction
6217: -- Only need to handle Unexpected error, rest are treated as success
6218: -- Since code is not proceeding, no need to reset x_return_status
6219: IF l_dbi_rs = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
6220: x_return_status := l_dbi_rs;
6221: IF l_debug_on THEN
6222: WSH_DEBUG_SV.pop(l_module_name);
6223: END IF;
6257: p_calc_wv_if_frozen => 'N',
6258: x_net_weight => l_net_weight,
6259: x_volume => l_volume,
6260: x_return_status => l_return_status);
6261: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_ERROR THEN
6262: x_return_status := l_return_status;
6263: IF l_debug_on THEN
6264: WSH_DEBUG_SV.pop(l_module_name,'Detail_Weight_Volume returned '||l_return_status);
6265: WSH_DEBUG_SV.pop(l_module_name);
6289: p_context => 'OVERPICK',
6290: x_return_status => l_return_status
6291: );
6292:
6293: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6294: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6295: END IF;
6296: END IF;
6297:
6290: x_return_status => l_return_status
6291: );
6292:
6293: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6294: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6295: END IF;
6296: END IF;
6297:
6298: END IF;
6335: x_return_status => l_return_status);
6336: IF l_debug_on THEN
6337: WSH_DEBUG_SV.log(l_module_name,'Delete_Details l_return_status',l_return_status);
6338: END IF;
6339: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6340: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6341: END IF;
6342: END IF;
6343:
6336: IF l_debug_on THEN
6337: WSH_DEBUG_SV.log(l_module_name,'Delete_Details l_return_status',l_return_status);
6338: END IF;
6339: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6340: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6341: END IF;
6342: END IF;
6343:
6344:
6354: IF l_debug_on THEN
6355: WSH_DEBUG_SV.log(l_module_name,'Adjust_Planned_Flag returns ',l_return_status);
6356: END IF;
6357:
6358: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
6359: raise Adjust_Planned_Flag_Err;
6360: ELSIF (l_return_status in (WSH_UTIL_CORE.G_RET_STS_WARNING, WSH_UTIL_CORE.G_RET_STS_ERROR)) and
6361: x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
6362: x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
6356: END IF;
6357:
6358: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
6359: raise Adjust_Planned_Flag_Err;
6360: ELSIF (l_return_status in (WSH_UTIL_CORE.G_RET_STS_WARNING, WSH_UTIL_CORE.G_RET_STS_ERROR)) and
6361: x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
6362: x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
6363: END IF;
6364: END IF;
6357:
6358: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
6359: raise Adjust_Planned_Flag_Err;
6360: ELSIF (l_return_status in (WSH_UTIL_CORE.G_RET_STS_WARNING, WSH_UTIL_CORE.G_RET_STS_ERROR)) and
6361: x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
6362: x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
6363: END IF;
6364: END IF;
6365:
6358: IF l_return_status = WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR THEN
6359: raise Adjust_Planned_Flag_Err;
6360: ELSIF (l_return_status in (WSH_UTIL_CORE.G_RET_STS_WARNING, WSH_UTIL_CORE.G_RET_STS_ERROR)) and
6361: x_return_status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
6362: x_return_status := WSH_UTIL_CORE.G_RET_STS_WARNING;
6363: END IF;
6364: END IF;
6365:
6366:
6366:
6367: <
6368: IF (l_multiple_update = 'Y') THEN
6369: update_inventory_info(l_changed_attributes, l_return_status);
6370: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6371: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
6372: END IF;
6373: END IF;
6374: --
6367: <
6368: IF (l_multiple_update = 'Y') THEN
6369: update_inventory_info(l_changed_attributes, l_return_status);
6370: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
6371: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
6372: END IF;
6373: END IF;
6374: --
6375: -- Debug Statements
6388: --
6389: EXCEPTION
6390: -- inbound logistics --jckwok
6391: WHEN Delivery_Line_Direction_Err THEN
6392: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6393: --
6394: -- LPN CONV rv
6395: WSH_WMS_LPN_GRP.g_caller := l_original_caller;
6396: WSH_WMS_LPN_GRP.g_callback_required := l_orig_callback_reqd;
6401: END IF;
6402: -- deliveryMerge
6403: WHEN Adjust_Planned_Flag_Err THEN
6404: FND_MESSAGE.SET_NAME('WSH', 'WSH_ADJUST_PLANNED_FLAG_ERR');
6405: WSH_UTIL_CORE.add_message(l_return_status,l_module_name);
6406: x_return_status := l_return_status;
6407:
6408: --
6409: -- LPN CONV rv
6417: END IF;
6418: --
6419:
6420: WHEN others THEN
6421: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
6422: wsh_util_core.default_handler('WSH_USA_INV_PVT.Update_Inventory_Info',l_module_name);
6423: --
6424: -- LPN CONV rv
6425: WSH_WMS_LPN_GRP.g_caller := l_original_caller;
6418: --
6419:
6420: WHEN others THEN
6421: x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
6422: wsh_util_core.default_handler('WSH_USA_INV_PVT.Update_Inventory_Info',l_module_name);
6423: --
6424: -- LPN CONV rv
6425: WSH_WMS_LPN_GRP.g_caller := l_original_caller;
6426: WSH_WMS_LPN_GRP.g_callback_required := l_orig_callback_reqd;
6484: WSH_DEBUG_SV.push(l_module_name);
6485: WSH_DEBUG_SV.log(l_module_name,'p_mo_line_id',p_mo_line_id);
6486: END IF;
6487:
6488: x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
6489:
6490: OPEN c_detailed_qty(p_mo_line_id);
6491: FETCH c_detailed_qty INTO l_detailed_qty, l_detailed_qty2;
6492: IF c_detailed_qty%NOTFOUND THEN
6514:
6515: EXCEPTION
6516:
6517: WHEN qty_not_found THEN
6518: x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
6519: IF c_detailed_qty%ISOPEN THEN
6520: CLOSE c_detailed_qty;
6521: END IF;
6522: IF l_debug_on THEN
6533: IF l_debug_on THEN
6534: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
6535: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
6536: END IF;
6537: wsh_util_core.default_handler('WSH_USA_INV_PVT.get_detailed_quantity',l_module_name);
6538:
6539: END get_detailed_quantity;
6540:
6541: --
6593: IF l_debug_on THEN
6594: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
6595: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
6596: END IF;
6597: WSH_UTIL_CORE.DEFAULT_HANDLER('WSH_USA_INV_PVT.is_mo_type_putaway',l_module_name);
6598: RETURN 'N';
6599:
6600: END is_mo_type_putaway;
6601:
6640: WSH_DEBUG_SV.log(l_module_name,'p_released_status',p_released_status);
6641: WSH_DEBUG_SV.log(l_module_name,'p_move_order_line_id',p_move_order_line_id);
6642: END IF;
6643:
6644: x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
6645: -- Check if released_status and move_order_line_id have been specified
6646: -- MOL can be null even if released status is specified.
6647: IF (p_detail_id is not null AND
6648: p_released_status IS NULL
6682: IF c_get_line_details%ISOPEN THEN
6683: CLOSE c_get_line_details;
6684: END IF;
6685: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
6686: WSH_UTIL_CORE.DEFAULT_HANDLER('WSH_USA_INV_PVT.get_putaway_detail_id',l_module_name);
6687: IF l_debug_on THEN
6688: WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '|| SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
6689: WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
6690: END IF;