102: x_num_warnings => l_numWarnings,
103: x_num_errors => l_numErrors);
104: --
105: IF l_Status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
106: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_SUCCESS');
107: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_RespNum);
108: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',
109: WSH_NEW_DELIVERIES_PVT.Get_Name(p_deliveryIdTab(i)));
110: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_SUCCESS,
103: x_num_errors => l_numErrors);
104: --
105: IF l_Status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
106: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_SUCCESS');
107: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_RespNum);
108: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',
109: WSH_NEW_DELIVERIES_PVT.Get_Name(p_deliveryIdTab(i)));
110: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_SUCCESS,
111: l_moduleName);
104: --
105: IF l_Status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
106: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_SUCCESS');
107: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_RespNum);
108: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',
109: WSH_NEW_DELIVERIES_PVT.Get_Name(p_deliveryIdTab(i)));
110: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_SUCCESS,
111: l_moduleName);
112: ELSE
109: WSH_NEW_DELIVERIES_PVT.Get_Name(p_deliveryIdTab(i)));
110: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_SUCCESS,
111: l_moduleName);
112: ELSE
113: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_WARNING');
114: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_RespNum);
115: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',
116: WSH_NEW_DELIVERIES_PVT.Get_Name(p_deliveryIdTab(i)));
117: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING,
110: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_SUCCESS,
111: l_moduleName);
112: ELSE
113: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_WARNING');
114: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_RespNum);
115: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',
116: WSH_NEW_DELIVERIES_PVT.Get_Name(p_deliveryIdTab(i)));
117: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING,
118: l_moduleName);
111: l_moduleName);
112: ELSE
113: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_WARNING');
114: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_RespNum);
115: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',
116: WSH_NEW_DELIVERIES_PVT.Get_Name(p_deliveryIdTab(i)));
117: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING,
118: l_moduleName);
119: END IF;
125: IF l_debugOn THEN
126: wsh_debug_sv.logmsg(l_moduleName, 'Expected error ' || SUBSTRB(SQLERRM,1,200));
127: END IF;
128: --
129: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_FAILURE');
130: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',
131: WSH_NEW_DELIVERIES_PVT.Get_Name(p_deliveryIdTab(i)));
132: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR,
133: l_moduleName);
126: wsh_debug_sv.logmsg(l_moduleName, 'Expected error ' || SUBSTRB(SQLERRM,1,200));
127: END IF;
128: --
129: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_FAILURE');
130: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',
131: WSH_NEW_DELIVERIES_PVT.Get_Name(p_deliveryIdTab(i)));
132: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR,
133: l_moduleName);
134: --
164: --
165: WHEN FND_API.G_EXC_ERROR THEN
166: --
167: x_RetStatus := WSH_UTIL_CORE.g_RET_STS_ERROR;
168: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_FAILURE');
169: WSH_UTIL_CORE.ADD_MESSAGE(x_RetStatus, l_moduleName);
170: --
171: IF l_debugOn THEN
172: wsh_debug_sv.logmsg(l_moduleName, 'Expected error ' || SUBSTRB(SQLERRM,1,200));
175: --
176: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
177: --
178: x_RetStatus := WSH_UTIL_CORE.g_RET_STS_UNEXP_ERROR;
179: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_FAILURE');
180: WSH_UTIL_CORE.ADD_MESSAGE(x_RetStatus, l_moduleName);
181: --
182: IF l_debugOn THEN
183: wsh_debug_sv.logmsg(l_moduleName, 'Unexpected error ' || SUBSTRB(SQLERRM,1,200));
188: --
189: wsh_util_core.default_handler('WSH_ROUTING_RESPONSE_PKG.GenerateRoutingResponse', l_moduleName);
190: --
191: x_RetStatus := WSH_UTIL_CORE.g_RET_STS_ERROR;
192: FND_MESSAGE.SET_NAME('WSH', 'WSH_ROUTING_RESP_FAILURE');
193: WSH_UTIL_CORE.ADD_MESSAGE(x_RetStatus, l_moduleName);
194: --
195: IF l_debugOn THEN
196: wsh_debug_sv.logmsg(l_moduleName, 'Unexpected error ' || SUBSTRB(SQLERRM,1,100));
471: -- Check whether the to role is NULL. If yes, then the WF cannot progress
472: --
473: IF l_performer IS NULL THEN
474: --
475: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_NO_PERFORMER');
476: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
477: --
478: END IF;
479: --
506: --
507: -- Delivery failed validation (or) the to Role is null.
508: -- Set the failure notification subject and message body
509: --
510: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
511: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
512: l_msgFailSubject := FND_MESSAGE.GET;
513: --
514: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
507: -- Delivery failed validation (or) the to Role is null.
508: -- Set the failure notification subject and message body
509: --
510: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
511: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
512: l_msgFailSubject := FND_MESSAGE.GET;
513: --
514: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
515: l_failReason := FND_MESSAGE.GET;
508: -- Set the failure notification subject and message body
509: --
510: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
511: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
512: l_msgFailSubject := FND_MESSAGE.GET;
513: --
514: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
515: l_failReason := FND_MESSAGE.GET;
516: --
510: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
511: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
512: l_msgFailSubject := FND_MESSAGE.GET;
513: --
514: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
515: l_failReason := FND_MESSAGE.GET;
516: --
517: FOR i IN 1..FND_MSG_PUB.COUNT_MSG LOOP
518: --
511: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
512: l_msgFailSubject := FND_MESSAGE.GET;
513: --
514: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
515: l_failReason := FND_MESSAGE.GET;
516: --
517: FOR i IN 1..FND_MSG_PUB.COUNT_MSG LOOP
518: --
519: l_failReason := l_failReason || FND_GLOBAL.local_chr(10) ||
550: wsh_debug_sv.log(l_moduleName, '# of routing requests', c_RoutReqId%ROWCOUNT);
551: wsh_debug_sv.log(l_moduleName, 'l_routReqIdTab.COUNT', l_routReqIdTab.COUNT);
552: END IF;
553: --
554: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_MULTIPLE_RREQ');
555: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_routrespNum);
556: l_msgSubject := FND_MESSAGE.GET;
557: --
558: END IF;
551: wsh_debug_sv.log(l_moduleName, 'l_routReqIdTab.COUNT', l_routReqIdTab.COUNT);
552: END IF;
553: --
554: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_MULTIPLE_RREQ');
555: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_routrespNum);
556: l_msgSubject := FND_MESSAGE.GET;
557: --
558: END IF;
559: --
552: END IF;
553: --
554: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_MULTIPLE_RREQ');
555: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_routrespNum);
556: l_msgSubject := FND_MESSAGE.GET;
557: --
558: END IF;
559: --
560: CLOSE c_RoutReqId;
630: IF l_debugOn THEN
631: wsh_debug_sv.logmsg(l_moduleName, 'Error in Plan Delivery API');
632: END IF;
633: --
634: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
635: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
636: l_msgFailSubject := FND_MESSAGE.GET;
637: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
638: l_failReason := FND_MESSAGE.GET;
631: wsh_debug_sv.logmsg(l_moduleName, 'Error in Plan Delivery API');
632: END IF;
633: --
634: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
635: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
636: l_msgFailSubject := FND_MESSAGE.GET;
637: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
638: l_failReason := FND_MESSAGE.GET;
639: --
632: END IF;
633: --
634: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
635: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
636: l_msgFailSubject := FND_MESSAGE.GET;
637: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
638: l_failReason := FND_MESSAGE.GET;
639: --
640: FOR i IN 1..FND_MSG_PUB.COUNT_MSG LOOP
633: --
634: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
635: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
636: l_msgFailSubject := FND_MESSAGE.GET;
637: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
638: l_failReason := FND_MESSAGE.GET;
639: --
640: FOR i IN 1..FND_MSG_PUB.COUNT_MSG LOOP
641: l_failReason := l_failReason || FND_GLOBAL.local_chr(10) ||
634: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
635: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
636: l_msgFailSubject := FND_MESSAGE.GET;
637: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_FAILURE_REASON');
638: l_failReason := FND_MESSAGE.GET;
639: --
640: FOR i IN 1..FND_MSG_PUB.COUNT_MSG LOOP
641: l_failReason := l_failReason || FND_GLOBAL.local_chr(10) ||
642: FND_MSG_PUB.GET(p_encoded=>FND_API.G_FALSE);
664: IF l_debugOn THEN
665: wsh_debug_sv.logmsg(l_moduleName, 'Error in TripPlan API');
666: END IF;
667: --
668: FND_MESSAGE.SET_NAME('WSH', 'WSH_TRIP_PLAN_ERROR');
669: FND_MESSAGE.SET_TOKEN('TRIP_NAME', WSH_TRIPS_PVT.Get_Name(l_tripId));
670: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING);
671: --}
672: END IF;
665: wsh_debug_sv.logmsg(l_moduleName, 'Error in TripPlan API');
666: END IF;
667: --
668: FND_MESSAGE.SET_NAME('WSH', 'WSH_TRIP_PLAN_ERROR');
669: FND_MESSAGE.SET_TOKEN('TRIP_NAME', WSH_TRIPS_PVT.Get_Name(l_tripId));
670: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING);
671: --}
672: END IF;
673: --}
692: -- Delivery is tied to only one routing request
693: --
694: IF l_msgSubject IS NULL THEN
695: --
696: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_SINGLE_RREQ');
697: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_routrespNum);
698: FND_MESSAGE.SET_TOKEN('REQ_NUM', l_routreqNum);
699: l_msgSubject := FND_MESSAGE.GET;
700: --
693: --
694: IF l_msgSubject IS NULL THEN
695: --
696: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_SINGLE_RREQ');
697: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_routrespNum);
698: FND_MESSAGE.SET_TOKEN('REQ_NUM', l_routreqNum);
699: l_msgSubject := FND_MESSAGE.GET;
700: --
701: END IF;
694: IF l_msgSubject IS NULL THEN
695: --
696: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_SINGLE_RREQ');
697: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_routrespNum);
698: FND_MESSAGE.SET_TOKEN('REQ_NUM', l_routreqNum);
699: l_msgSubject := FND_MESSAGE.GET;
700: --
701: END IF;
702: --
695: --
696: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_SINGLE_RREQ');
697: FND_MESSAGE.SET_TOKEN('RESP_NUM', l_routrespNum);
698: FND_MESSAGE.SET_TOKEN('REQ_NUM', l_routreqNum);
699: l_msgSubject := FND_MESSAGE.GET;
700: --
701: END IF;
702: --
703: IF l_debugOn THEN
735: IF l_debugOn THEN
736: wsh_debug_sv.logmsg(l_moduleName, 'Delivery ' || l_deliveryId || ' not locked');
737: END IF;
738: --
739: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
740: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
741: l_msgFailSubject := FND_MESSAGE.GET;
742: --
743: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_DEL_LOCKED');
736: wsh_debug_sv.logmsg(l_moduleName, 'Delivery ' || l_deliveryId || ' not locked');
737: END IF;
738: --
739: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
740: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
741: l_msgFailSubject := FND_MESSAGE.GET;
742: --
743: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_DEL_LOCKED');
744: l_failReason := FND_MESSAGE.GET;
737: END IF;
738: --
739: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
740: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
741: l_msgFailSubject := FND_MESSAGE.GET;
742: --
743: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_DEL_LOCKED');
744: l_failReason := FND_MESSAGE.GET;
745: --
739: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_GEN_FAILED_SUBJ');
740: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
741: l_msgFailSubject := FND_MESSAGE.GET;
742: --
743: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_DEL_LOCKED');
744: l_failReason := FND_MESSAGE.GET;
745: --
746: IF l_debugOn THEN
747: wsh_debug_sv.log(l_moduleName, 'Failure Message subject', l_msgFailSubject);
740: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
741: l_msgFailSubject := FND_MESSAGE.GET;
742: --
743: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_PRE_DEL_LOCKED');
744: l_failReason := FND_MESSAGE.GET;
745: --
746: IF l_debugOn THEN
747: wsh_debug_sv.log(l_moduleName, 'Failure Message subject', l_msgFailSubject);
748: wsh_debug_sv.log(l_moduleName, 'Body', l_failReason);
863: IF l_Status = WSH_UTIL_CORE.G_RET_STS_SUCCESS THEN
864: resultout := 'T';
865: ELSE
866: --
867: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_POST_FAILED_SUBJ');
868: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
869: l_msgFailSubject := FND_MESSAGE.GET;
870: --
871: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_POST_FAILURE_REASON');
864: resultout := 'T';
865: ELSE
866: --
867: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_POST_FAILED_SUBJ');
868: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
869: l_msgFailSubject := FND_MESSAGE.GET;
870: --
871: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_POST_FAILURE_REASON');
872: l_failReason := FND_MESSAGE.GET;
865: ELSE
866: --
867: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_POST_FAILED_SUBJ');
868: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
869: l_msgFailSubject := FND_MESSAGE.GET;
870: --
871: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_POST_FAILURE_REASON');
872: l_failReason := FND_MESSAGE.GET;
873: --
867: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_POST_FAILED_SUBJ');
868: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
869: l_msgFailSubject := FND_MESSAGE.GET;
870: --
871: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_POST_FAILURE_REASON');
872: l_failReason := FND_MESSAGE.GET;
873: --
874: WF_ENGINE.SetItemAttrText(itemType, itemKey, 'SUBJECT_FAIL', l_msgFailSubject);
875: WF_ENGINE.SetItemAttrText(itemType, itemKey, 'NOTFN_FAILED_BODY', l_failReason);
868: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(l_deliveryId));
869: l_msgFailSubject := FND_MESSAGE.GET;
870: --
871: FND_MESSAGE.SET_NAME('FTE', 'FTE_RRESP_POST_FAILURE_REASON');
872: l_failReason := FND_MESSAGE.GET;
873: --
874: WF_ENGINE.SetItemAttrText(itemType, itemKey, 'SUBJECT_FAIL', l_msgFailSubject);
875: WF_ENGINE.SetItemAttrText(itemType, itemKey, 'NOTFN_FAILED_BODY', l_failReason);
876: resultout := 'F';
1157:
1158: -- { IB-Phase-2
1159: IF l_relationship_end_date < SYSDATE
1160: THEN
1161: FND_MESSAGE.SET_NAME('WSH', 'WSH_SUPP_CONTACT_INACTIVE');
1162: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',l_del_name);
1163: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1164: raise FND_API.G_EXC_ERROR;
1165: END IF;
1158: -- { IB-Phase-2
1159: IF l_relationship_end_date < SYSDATE
1160: THEN
1161: FND_MESSAGE.SET_NAME('WSH', 'WSH_SUPP_CONTACT_INACTIVE');
1162: FND_MESSAGE.SET_TOKEN('DELIVERY_NAME',l_del_name);
1163: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1164: raise FND_API.G_EXC_ERROR;
1165: END IF;
1166: -- } IB-Phase-2
1708:
1709: --If delivery did not have first leg then error.
1710: IF (validate_first_leg_csr %NOTFOUND) THEN
1711: --
1712: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_NO_FIRST_LEG');
1713: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1714: CLOSE validate_first_leg_csr;
1715: raise fnd_api.g_exc_error;
1716: --
1720: --
1721:
1722: --If transportation is not arranged by Buyer than error.
1723: IF (nvl(l_shipping_control,'$$$') <> 'BUYER') THEN
1724: FND_MESSAGE.SET_NAME('WSH','WSH_RR_NO_BUYER_DEL');
1725: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1726: fnd_msg_pub.add;
1727:
1728: raise FND_API.G_EXC_ERROR;
1721:
1722: --If transportation is not arranged by Buyer than error.
1723: IF (nvl(l_shipping_control,'$$$') <> 'BUYER') THEN
1724: FND_MESSAGE.SET_NAME('WSH','WSH_RR_NO_BUYER_DEL');
1725: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1726: fnd_msg_pub.add;
1727:
1728: raise FND_API.G_EXC_ERROR;
1729: END IF;
1745:
1746: --Error, if any one of carrier,mode of transport or service level is NULL.
1747: IF (l_carrier_id IS NULL OR l_mode_of_transport IS NULL OR l_service_level IS NULL) THEN
1748: --
1749: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_NO_CARRIER_SETUP');
1750: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1751: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1752: RAISE fnd_api.g_exc_error;
1753: --
1746: --Error, if any one of carrier,mode of transport or service level is NULL.
1747: IF (l_carrier_id IS NULL OR l_mode_of_transport IS NULL OR l_service_level IS NULL) THEN
1748: --
1749: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_NO_CARRIER_SETUP');
1750: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1751: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1752: RAISE fnd_api.g_exc_error;
1753: --
1754: END IF;
1773: FETCH get_carrier_name INTO l_carrier_name;
1774: CLOSE get_carrier_name;
1775:
1776: --Delivery DEL_NAME is not tendered for carrier CARRIER.
1777: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_NO_TENDER');
1778: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1779: FND_MESSAGE.SET_TOKEN('CARRIER', l_carrier_name);
1780: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING, l_moduleName);
1781: END IF;
1774: CLOSE get_carrier_name;
1775:
1776: --Delivery DEL_NAME is not tendered for carrier CARRIER.
1777: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_NO_TENDER');
1778: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1779: FND_MESSAGE.SET_TOKEN('CARRIER', l_carrier_name);
1780: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING, l_moduleName);
1781: END IF;
1782: --
1775:
1776: --Delivery DEL_NAME is not tendered for carrier CARRIER.
1777: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_NO_TENDER');
1778: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1779: FND_MESSAGE.SET_TOKEN('CARRIER', l_carrier_name);
1780: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING, l_moduleName);
1781: END IF;
1782: --
1783: CLOSE validate_auto_tender_csr;
1793: OPEN get_carrier_name(l_carrier_id);
1794: FETCH get_carrier_name INTO l_carrier_name;
1795: CLOSE get_carrier_name;
1796:
1797: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_NO_TENDER_ACCEPT');
1798: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1799: FND_MESSAGE.SET_TOKEN('CARRIER', l_carrier_name);
1800: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING, l_moduleName);
1801: END IF;
1794: FETCH get_carrier_name INTO l_carrier_name;
1795: CLOSE get_carrier_name;
1796:
1797: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_NO_TENDER_ACCEPT');
1798: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1799: FND_MESSAGE.SET_TOKEN('CARRIER', l_carrier_name);
1800: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING, l_moduleName);
1801: END IF;
1802: --
1795: CLOSE get_carrier_name;
1796:
1797: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_NO_TENDER_ACCEPT');
1798: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1799: FND_MESSAGE.SET_TOKEN('CARRIER', l_carrier_name);
1800: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_WARNING, l_moduleName);
1801: END IF;
1802: --
1803: IF l_debugOn THEN
1903:
1904: --No detail lines assign to delivery,error out.
1905: IF (l_po_header_id.count < 1) THEN
1906: --
1907: FND_MESSAGE.SET_NAME('WSH', 'WSH_DEL_NO_DETAILS');
1908: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1909: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1910: raise fnd_api.g_exc_error;
1911: --
1904: --No detail lines assign to delivery,error out.
1905: IF (l_po_header_id.count < 1) THEN
1906: --
1907: FND_MESSAGE.SET_NAME('WSH', 'WSH_DEL_NO_DETAILS');
1908: FND_MESSAGE.SET_TOKEN('DEL_NAME', WSH_NEW_DELIVERIES_PVT.Get_Name(p_delivery_id));
1909: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1910: raise fnd_api.g_exc_error;
1911: --
1912: END IF;
1947: END IF;
1948: --
1949: IF (l_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
1950: --
1951: FND_MESSAGE.SET_NAME('WSH', 'WSH_RR_PO_INVALID');
1952: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1953: raise fnd_api.g_exc_error;
1954: --
1955: END IF;
1968:
1969: --Error if PO is in Hold
1970: IF (l_po_status_rec.hold_flag(l_index) = 'Y') THEN
1971: --
1972: FND_MESSAGE.SET_NAME('WSH','WSH_RR_PO_ERROR_HOLD');
1973: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1974: raise fnd_api.g_exc_error;
1975: --
1976: END IF;
1977: --
1978: --Error if PO is not Approved.
1979: IF (l_po_status_rec.approval_flag(l_index)<> 'Y' ) THEN
1980: --
1981: FND_MESSAGE.SET_NAME('WSH','WSH_RR_PO_ERROR_UNAPPROVED');
1982: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
1983: raise fnd_api.g_exc_error;
1984: --
1985: END IF;
2023: SQLERRM,wsh_debug_sv.C_UNEXPEC_ERR_LEVEL);
2024: wsh_debug_sv.pop(l_moduleName,'EXCEPTION:OTHERS');
2025: END IF;
2026: --
2027: FND_MESSAGE.SET_NAME('WSH','WSH_UTIL_MESSAGE_U');
2028: FND_MESSAGE.SET_TOKEN('MSG_TEXT',sqlerrm);
2029: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
2030: --
2031: END Validate_PO;
2024: wsh_debug_sv.pop(l_moduleName,'EXCEPTION:OTHERS');
2025: END IF;
2026: --
2027: FND_MESSAGE.SET_NAME('WSH','WSH_UTIL_MESSAGE_U');
2028: FND_MESSAGE.SET_TOKEN('MSG_TEXT',sqlerrm);
2029: WSH_UTIL_CORE.ADD_MESSAGE(WSH_UTIL_CORE.G_RET_STS_ERROR, l_moduleName);
2030: --
2031: END Validate_PO;
2032: