142: -- In other words, it will not check if the order is updated
143:
144: -- Adding 'AUTO HOLD' for bug# 4207478
145: IF p_calling_action IN ('SHIPPING', 'PACKING' , 'PICKING', 'AUTO HOLD')
146: AND NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) =
147: FND_API.G_FALSE
148: --ER 12363706 start
149: OR (NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) = FND_API.G_TRUE)
150: --ER 12363706 end
143:
144: -- Adding 'AUTO HOLD' for bug# 4207478
145: IF p_calling_action IN ('SHIPPING', 'PACKING' , 'PICKING', 'AUTO HOLD')
146: AND NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) =
147: FND_API.G_FALSE
148: --ER 12363706 start
149: OR (NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) = FND_API.G_TRUE)
150: --ER 12363706 end
151: THEN
145: IF p_calling_action IN ('SHIPPING', 'PACKING' , 'PICKING', 'AUTO HOLD')
146: AND NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) =
147: FND_API.G_FALSE
148: --ER 12363706 start
149: OR (NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) = FND_API.G_TRUE)
150: --ER 12363706 end
151: THEN
152:
153: BEGIN
200: AND RELEASE_REASON_CODE <> 'PASS_CREDIT'
201: AND CREATED_BY <> 1;
202:
203: -----check if days_honor_manual_release expired
204: IF NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) = FND_API.G_FALSE THEN --ER 12363706
205: IF p_credit_check_rule_rec.days_honor_manual_release IS NOT NULL
206: THEN
207: IF (l_release_date +
208: p_credit_check_rule_rec.days_honor_manual_release
271: END IF;
272:
273: IF g_hold_exist = 'Y'
274: THEN
275: l_hold_result := FND_API.G_TRUE ;
276: ELSIF g_hold_exist = 'N'
277: THEN
278: l_hold_result := 'F' ;
279: ELSE
302: OE_DEBUG_PUB.ADD('OEXVCRHB: Out Check_Holds ');
303: OE_DEBUG_PUB.ADD('l_return_status = '|| l_return_status );
304: END IF;
305:
306: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
307: RAISE FND_API.G_EXC_ERROR;
308: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
309: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
310: END IF;
303: OE_DEBUG_PUB.ADD('l_return_status = '|| l_return_status );
304: END IF;
305:
306: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
307: RAISE FND_API.G_EXC_ERROR;
308: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
309: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
310: END IF;
311:
304: END IF;
305:
306: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
307: RAISE FND_API.G_EXC_ERROR;
308: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
309: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
310: END IF;
311:
312: END IF; -- g_hold_exist
305:
306: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
307: RAISE FND_API.G_EXC_ERROR;
308: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
309: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
310: END IF;
311:
312: END IF; -- g_hold_exist
313:
316: OE_DEBUG_PUB.ADD('OEXVCRHB: about to Hold_Exists');
317: OE_DEBUG_PUB.ADD('l_hold_result => '|| l_hold_result );
318: END IF;
319:
320: IF l_hold_result = FND_API.G_TRUE THEN
321: return TRUE;
322: ELSE
323: return FALSE;
324: END IF;
576:
577:
578: OE_Holds_PUB.Apply_Holds
579: ( p_api_version => 1.0
580: , p_validation_level => FND_API.G_VALID_LEVEL_NONE
581: , p_hold_source_rec => p_hold_source_rec
582: , x_msg_count => x_msg_count
583: , x_msg_data => x_msg_data
584: , x_return_status => x_return_status
586:
587: OE_DEBUG_PUB.ADD(' Out OE_Holds_PUB.Apply_Holds ');
588: OE_DEBUG_PUB.ADD(' x_return_status => '|| x_return_status );
589:
590: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
591: RAISE FND_API.G_EXC_ERROR;
592: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
593: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
594: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
587: OE_DEBUG_PUB.ADD(' Out OE_Holds_PUB.Apply_Holds ');
588: OE_DEBUG_PUB.ADD(' x_return_status => '|| x_return_status );
589:
590: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
591: RAISE FND_API.G_EXC_ERROR;
592: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
593: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
594: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
595:
588: OE_DEBUG_PUB.ADD(' x_return_status => '|| x_return_status );
589:
590: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
591: RAISE FND_API.G_EXC_ERROR;
592: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
593: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
594: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
595:
596: OE_DEBUG_PUB.ADD(' Holds success ');
589:
590: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
591: RAISE FND_API.G_EXC_ERROR;
592: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
593: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
594: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
595:
596: OE_DEBUG_PUB.ADD(' Holds success ');
597: OE_DEBUG_PUB.ADD(' About to Issue COMMIT');
590: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
591: RAISE FND_API.G_EXC_ERROR;
592: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
593: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
594: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
595:
596: OE_DEBUG_PUB.ADD(' Holds success ');
597: OE_DEBUG_PUB.ADD(' About to Issue COMMIT');
598:
668: END IF;
669:
670: --ER 12363706 end
671:
672: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
673: RAISE FND_API.G_EXC_ERROR;
674: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
676: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
669:
670: --ER 12363706 end
671:
672: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
673: RAISE FND_API.G_EXC_ERROR;
674: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
676: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
677: IF G_debug_flag = 'Y'
670: --ER 12363706 end
671:
672: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
673: RAISE FND_API.G_EXC_ERROR;
674: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
676: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
677: IF G_debug_flag = 'Y'
678: THEN
671:
672: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
673: RAISE FND_API.G_EXC_ERROR;
674: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
676: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
677: IF G_debug_flag = 'Y'
678: THEN
679: OE_DEBUG_PUB.ADD('OEXVCRHB: Update Hold Comment Success, Issue COMMIT');
672: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
673: RAISE FND_API.G_EXC_ERROR;
674: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
676: ELSIF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
677: IF G_debug_flag = 'Y'
678: THEN
679: OE_DEBUG_PUB.ADD('OEXVCRHB: Update Hold Comment Success, Issue COMMIT');
680: END IF;
858: --ER 12363706 end
859:
860: END IF; -- Calling Action
861:
862: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
863: RAISE FND_API.G_EXC_ERROR;
864: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
865: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
866: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
859:
860: END IF; -- Calling Action
861:
862: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
863: RAISE FND_API.G_EXC_ERROR;
864: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
865: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
866: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
867: IF G_debug_flag = 'Y'
860: END IF; -- Calling Action
861:
862: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
863: RAISE FND_API.G_EXC_ERROR;
864: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
865: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
866: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
867: IF G_debug_flag = 'Y'
868: THEN
861:
862: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
863: RAISE FND_API.G_EXC_ERROR;
864: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
865: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
866: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
867: IF G_debug_flag = 'Y'
868: THEN
869: OE_DEBUG_PUB.ADD('OEXVCRHB: Updated Comments on Header ID:'
862: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
863: RAISE FND_API.G_EXC_ERROR;
864: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
865: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
866: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
867: IF G_debug_flag = 'Y'
868: THEN
869: OE_DEBUG_PUB.ADD('OEXVCRHB: Updated Comments on Header ID:'
870: ||p_header_id, 1);
878: ,p_line_id => NULL
879: ,p_credit_check_rule_rec=>p_credit_check_rule_rec
880: ) = 'N'
881: --ER 12363706 start
882: AND NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) = FND_API.G_FALSE) OR (NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) = FND_API.G_TRUE)
883: --ER 12363706 end
884: THEN
885: IF G_debug_flag = 'Y'
886: THEN
934: END IF;
935:
936: OE_Holds_PUB.Apply_Holds
937: ( p_api_version => 1.0
938: , p_validation_level => FND_API.G_VALID_LEVEL_NONE
939: , p_hold_source_rec => l_hold_source_rec
940: , x_msg_count => l_msg_count
941: , x_msg_data => l_msg_data
942: , x_return_status => l_return_status
949: END IF; --check calling action
950:
951: OE_Credit_Engine_GRP.G_Credit_Profile_Level := NULL; --ER 12363706
952:
953: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
954: RAISE FND_API.G_EXC_ERROR;
955: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
957: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
950:
951: OE_Credit_Engine_GRP.G_Credit_Profile_Level := NULL; --ER 12363706
952:
953: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
954: RAISE FND_API.G_EXC_ERROR;
955: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
957: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
958: IF G_debug_flag = 'Y' THEN
951: OE_Credit_Engine_GRP.G_Credit_Profile_Level := NULL; --ER 12363706
952:
953: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
954: RAISE FND_API.G_EXC_ERROR;
955: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
957: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
958: IF G_debug_flag = 'Y' THEN
959: OE_DEBUG_PUB.ADD('OEXVCRHB: Credit check hold applied header_ID: '
952:
953: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
954: RAISE FND_API.G_EXC_ERROR;
955: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
957: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
958: IF G_debug_flag = 'Y' THEN
959: OE_DEBUG_PUB.ADD('OEXVCRHB: Credit check hold applied header_ID: '
960: ||p_header_id, 1);
953: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
954: RAISE FND_API.G_EXC_ERROR;
955: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
957: ELSIF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
958: IF G_debug_flag = 'Y' THEN
959: OE_DEBUG_PUB.ADD('OEXVCRHB: Credit check hold applied header_ID: '
960: ||p_header_id, 1);
961: END IF;
1018: THEN
1019: OE_DEBUG_PUB.Add('OEXVCRHB: In Release_Order_CC_Hold',1);
1020: END IF;
1021:
1022: l_return_status := FND_API.G_RET_STS_SUCCESS;
1023:
1024: IF G_debug_flag = 'Y'
1025: THEN
1026: OE_DEBUG_PUB.Add('Check if Holds exist to release ');
1067: , x_msg_count => l_msg_count
1068: , x_msg_data => l_msg_data
1069: , x_return_status => l_return_status
1070: );
1071: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1072: RAISE FND_API.G_EXC_ERROR;
1073: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1075: ELSIF l_return_status =FND_API.G_RET_STS_SUCCESS THEN
1068: , x_msg_data => l_msg_data
1069: , x_return_status => l_return_status
1070: );
1071: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1072: RAISE FND_API.G_EXC_ERROR;
1073: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1075: ELSIF l_return_status =FND_API.G_RET_STS_SUCCESS THEN
1076: Write_Order_Release_Msg(
1069: , x_return_status => l_return_status
1070: );
1071: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1072: RAISE FND_API.G_EXC_ERROR;
1073: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1075: ELSIF l_return_status =FND_API.G_RET_STS_SUCCESS THEN
1076: Write_Order_Release_Msg(
1077: p_calling_action => p_calling_action
1070: );
1071: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1072: RAISE FND_API.G_EXC_ERROR;
1073: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1075: ELSIF l_return_status =FND_API.G_RET_STS_SUCCESS THEN
1076: Write_Order_Release_Msg(
1077: p_calling_action => p_calling_action
1078: , p_order_number => p_order_number
1071: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1072: RAISE FND_API.G_EXC_ERROR;
1073: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1074: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1075: ELSIF l_return_status =FND_API.G_RET_STS_SUCCESS THEN
1076: Write_Order_Release_Msg(
1077: p_calling_action => p_calling_action
1078: , p_order_number => p_order_number
1079: );
1136: OE_DEBUG_PUB.ADD('Call Get_Past_Due_Invoice ');
1137: END IF;
1138:
1139: -- Initialize return status to success
1140: x_return_status := FND_API.G_RET_STS_SUCCESS;
1141: -- Default to pass
1142: x_cc_result_out := 'PASS';
1143:
1144:
1164: OE_DEBUG_PUB.ADD(' x_return_status = '|| x_return_status);
1165: OE_DEBUG_PUB.ADD(' l_exist_flag = '|| l_exist_flag );
1166: END IF;
1167:
1168: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1169: RAISE FND_API.G_EXC_ERROR;
1170: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1172: END IF;
1165: OE_DEBUG_PUB.ADD(' l_exist_flag = '|| l_exist_flag );
1166: END IF;
1167:
1168: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1169: RAISE FND_API.G_EXC_ERROR;
1170: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1172: END IF;
1173:
1166: END IF;
1167:
1168: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1169: RAISE FND_API.G_EXC_ERROR;
1170: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1172: END IF;
1173:
1174:
1167:
1168: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1169: RAISE FND_API.G_EXC_ERROR;
1170: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1171: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1172: END IF;
1173:
1174:
1175: IF l_exist_flag = 'Y'
1183: OE_DEBUG_PUB.ADD('OEXVCRHB: Out Chk_Past_Due_Invoice');
1184: END IF;
1185: EXCEPTION
1186: WHEN OTHERS THEN
1187: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1188: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1189: OE_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, 'Chk_Past_Due_invoice');
1190: END IF;
1191: END Chk_Past_Due_Invoice;
1223: OE_DEBUG_PUB.ADD('OEXVCRHB: In Check_Trx_Limit');
1224: END IF;
1225:
1226: -- Initialize return status to success
1227: x_return_status := FND_API.G_RET_STS_SUCCESS;
1228: -- Default to Pass
1229: x_cc_result_out := 'PASS';
1230:
1231: ----------------------------------------------
1323: OE_DEBUG_PUB.ADD(' p_trx_credit_limit = '|| p_trx_credit_limit );
1324: END IF;
1325:
1326:
1327: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1328: RAISE FND_API.G_EXC_ERROR;
1329: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1331: END IF;
1324: END IF;
1325:
1326:
1327: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1328: RAISE FND_API.G_EXC_ERROR;
1329: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1331: END IF;
1332: IF l_order_value > NVL(p_trx_credit_limit ,l_order_value )
1325:
1326:
1327: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1328: RAISE FND_API.G_EXC_ERROR;
1329: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1331: END IF;
1332: IF l_order_value > NVL(p_trx_credit_limit ,l_order_value )
1333: THEN
1326:
1327: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1328: RAISE FND_API.G_EXC_ERROR;
1329: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1331: END IF;
1332: IF l_order_value > NVL(p_trx_credit_limit ,l_order_value )
1333: THEN
1334: x_cc_result_out := 'FAIL';
1360: OE_MSG_PUB.ADD;
1361:
1362: G_result_out := 'FAIL' ;
1363: x_cc_result_out := 'FAIL';
1364: x_return_status := FND_API.G_RET_STS_ERROR;
1365:
1366: IF G_debug_flag = 'Y'
1367: THEN
1368: OE_DEBUG_PUB.ADD('Return status after assigned as Error = '
1378: END IF;
1379: EXCEPTION
1380: WHEN others THEN
1381: OE_DEBUG_PUB.Add('Check_Trx_Limit: Other exceptions');
1382: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1383: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1384: OE_MSG_PUB.Add_Exc_Msg
1385: ( G_PKG_NAME
1386: , 'Check_Trx_Limit'
1513: OE_DEBUG_PUB.ADD('p_site_use_id = ' || p_site_use_id );
1514: END IF;
1515:
1516: x_check_order_flag := 'Y';
1517: x_return_status := FND_API.G_RET_STS_SUCCESS;
1518: x_global_exposure_flag := 'N' ;
1519:
1520: -- If precalculated, no need to figure out the
1521: -- transaction curr first during ALL currency check
1654: END IF;
1655:
1656: EXCEPTION
1657: WHEN OTHERS THEN
1658: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1659: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1660: OE_MSG_PUB.Add_Exc_Msg
1661: ( G_PKG_NAME
1662: , 'Validate_other_credit_check'
1661: ( G_PKG_NAME
1662: , 'Validate_other_credit_check'
1663: );
1664: END IF;
1665: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1666: END Validate_other_credit_check;
1667:
1668: -----------------------------------------------------------
1669: -- PROCEDURE: Check_order_exposure PUBLIC
1719: l_order_hold_amount NUMBER ;
1720: l_ar_amount NUMBER ;
1721:
1722: BEGIN
1723: x_return_status := FND_API.G_RET_STS_SUCCESS;
1724:
1725: IF G_debug_flag = 'Y'
1726: THEN
1727:
1810: OE_DEBUG_PUB.ADD('err curr table count = '
1811: || l_conversion_status.COUNT );
1812: END IF;
1813:
1814: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1815: RAISE FND_API.G_EXC_ERROR;
1816: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1817: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1818: END IF;
1811: || l_conversion_status.COUNT );
1812: END IF;
1813:
1814: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1815: RAISE FND_API.G_EXC_ERROR;
1816: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1817: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1818: END IF;
1819: END IF;
1812: END IF;
1813:
1814: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1815: RAISE FND_API.G_EXC_ERROR;
1816: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1817: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1818: END IF;
1819: END IF;
1820:
1813:
1814: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1815: RAISE FND_API.G_EXC_ERROR;
1816: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1817: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1818: END IF;
1819: END IF;
1820:
1821: IF NVL(l_conversion_status.COUNT,0) > 0 THEN
1860: OE_DEBUG_PUB.Add(' err cur tbl count = '||
1861: l_conversion_status.COUNT );
1862: END IF;
1863:
1864: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1865: RAISE FND_API.G_EXC_ERROR;
1866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1868: END IF;
1861: l_conversion_status.COUNT );
1862: END IF;
1863:
1864: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1865: RAISE FND_API.G_EXC_ERROR;
1866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1868: END IF;
1869:
1862: END IF;
1863:
1864: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1865: RAISE FND_API.G_EXC_ERROR;
1866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1868: END IF;
1869:
1870: ELSE
1863:
1864: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1865: RAISE FND_API.G_EXC_ERROR;
1866: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1867: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1868: END IF;
1869:
1870: ELSE
1871:
1926: l_current_order_value := 0 ;
1927: g_hold_exist := NULL;
1928:
1929: IF NVL(p_calling_action, 'BOOKING') = 'BOOKING' AND
1930: NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) =
1931: FND_API.G_FALSE
1932: THEN
1933: l_current_order_value :=
1934: NVL(OE_CREDIT_CHECK_UTIL.g_current_order_value,0) ;
1927: g_hold_exist := NULL;
1928:
1929: IF NVL(p_calling_action, 'BOOKING') = 'BOOKING' AND
1930: NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) =
1931: FND_API.G_FALSE
1932: THEN
1933: l_current_order_value :=
1934: NVL(OE_CREDIT_CHECK_UTIL.g_current_order_value,0) ;
1935: IF G_debug_flag = 'Y'
1982: OE_DEBUG_PUB.Add('l_current_order_value = '|| l_current_order_value );
1983: OE_DEBUG_PUB.Add('x_total_exposure before add = '|| x_total_exposure );
1984: END IF;
1985:
1986: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1987: RAISE FND_API.G_EXC_ERROR;
1988: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1989: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1990: END IF;
1983: OE_DEBUG_PUB.Add('x_total_exposure before add = '|| x_total_exposure );
1984: END IF;
1985:
1986: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1987: RAISE FND_API.G_EXC_ERROR;
1988: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1989: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1990: END IF;
1991: END IF; -- get exposure
1984: END IF;
1985:
1986: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1987: RAISE FND_API.G_EXC_ERROR;
1988: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1989: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1990: END IF;
1991: END IF; -- get exposure
1992: -- Add up the exposure and the current transaction amount
1985:
1986: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
1987: RAISE FND_API.G_EXC_ERROR;
1988: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1989: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1990: END IF;
1991: END IF; -- get exposure
1992: -- Add up the exposure and the current transaction amount
1993: x_total_exposure := NVL(l_transaction_value,0) +
1995: NVL(x_total_exposure,0);
1996: END IF;
1997: ELSE
1998: x_total_exposure := 0 ;
1999: x_return_status := FND_API.G_RET_STS_SUCCESS;
2000: IF G_debug_flag = 'Y' THEN
2001: OE_DEBUG_PUB.Add(' UNLIMITED overall credi '
2002: || p_overall_credit_limit );
2003: END IF;
2010: || p_overall_credit_limit,1 );
2011: OE_DEBUG_PUB.Add(' curr conv err count ' || l_conversion_status.COUNT );
2012: END IF;
2013:
2014: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2015: RAISE FND_API.G_EXC_ERROR;
2016: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2018: END IF;
2011: OE_DEBUG_PUB.Add(' curr conv err count ' || l_conversion_status.COUNT );
2012: END IF;
2013:
2014: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2015: RAISE FND_API.G_EXC_ERROR;
2016: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2018: END IF;
2019:
2012: END IF;
2013:
2014: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2015: RAISE FND_API.G_EXC_ERROR;
2016: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2018: END IF;
2019:
2020: IF NVL(l_conversion_status.COUNT,0) > 0
2013:
2014: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2015: RAISE FND_API.G_EXC_ERROR;
2016: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2017: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2018: END IF;
2019:
2020: IF NVL(l_conversion_status.COUNT,0) > 0
2021: THEN
2042: OE_MSG_PUB.ADD;
2043:
2044: G_result_out := 'FAIL' ;
2045: x_cc_result_out := 'FAIL';
2046: x_return_status := FND_API.G_RET_STS_ERROR;
2047:
2048: IF G_debug_flag = 'Y'
2049: THEN
2050: OE_DEBUG_PUB.Add(' Exposure CC Failed due to currency failure');
2069: END IF;
2070:
2071: EXCEPTION
2072: WHEN others THEN
2073: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2074: IF G_debug_flag = 'Y' THEN
2075: OE_DEBUG_PUB.Add('Check_order_exposure: Other exceptions');
2076: END IF;
2077: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2079: ( G_PKG_NAME
2080: , 'Check_order_exposure'
2081: );
2082: END IF;
2083: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2084: IF G_debug_flag = 'Y' THEN
2085: OE_DEBUG_PUB.Add( SUBSTR(SQLERRM,1,300) ) ;
2086: END IF;
2087: END Check_order_Exposure ;
2125: OE_DEBUG_PUB.Add('OEXVCRHB: In Check_Item_Limits');
2126: END IF;
2127: --
2128: -- Initialize return status to success
2129: x_return_status := FND_API.G_RET_STS_SUCCESS;
2130: -- Default to Pass
2131:
2132: l_cc_result_out := 'PASS';
2133:
2279: OE_MSG_PUB.ADD ;
2280:
2281: G_result_out := 'FAIL' ;
2282: x_cc_result_out := 'FAIL';
2283: x_return_status := FND_API.G_RET_STS_ERROR;
2284:
2285: IF G_debug_flag = 'Y' THEN
2286: OE_DEBUG_PUB.Add(' Item CTG CC Failed due to currency failure');
2287: OE_DEBUG_PUB.ADD('Return status after assigned as Error = '
2292: WHEN others THEN
2293: IF G_debug_flag = 'Y' THEN
2294: OE_DEBUG_PUB.Add('Check_Item_Limit: Other exceptions');
2295: END IF;
2296: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2297: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2298: OE_MSG_PUB.Add_Exc_Msg
2299: ( G_PKG_NAME
2300: , 'Check_Item_Limits'
2413: --
2414: -- Set the default behavior to pass credit check
2415: --
2416: x_cc_result_out := 'PASS';
2417: x_return_status := FND_API.G_RET_STS_SUCCESS;
2418: x_global_exposure_flag := 'N' ;
2419:
2420: l_cc_result_out := 'PASS';
2421: l_cc_trx_result_out := 'PASS';
2534: oe_debug_pub.ADD('slagiset: No tolerance check is required. Since, there is no released hold for this order.');
2535: END IF;
2536: OE_CREDIT_CHECK_UTIL.G_CC_Invoice_tab.delete;
2537: --ER 12363706 end
2538: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2539: RAISE FND_API.G_EXC_ERROR;
2540: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2541: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2542: END IF;
2535: END IF;
2536: OE_CREDIT_CHECK_UTIL.G_CC_Invoice_tab.delete;
2537: --ER 12363706 end
2538: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2539: RAISE FND_API.G_EXC_ERROR;
2540: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2541: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2542: END IF;
2543: --
2536: OE_CREDIT_CHECK_UTIL.G_CC_Invoice_tab.delete;
2537: --ER 12363706 end
2538: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2539: RAISE FND_API.G_EXC_ERROR;
2540: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2541: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2542: END IF;
2543: --
2544:
2537: --ER 12363706 end
2538: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2539: RAISE FND_API.G_EXC_ERROR;
2540: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2541: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2542: END IF;
2543: --
2544:
2545: -----------------------------------------------------------
2597: --ER8880886
2598:
2599: END IF;
2600:
2601: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2602: RAISE FND_API.G_EXC_ERROR;
2603: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2605: END IF;
2598:
2599: END IF;
2600:
2601: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2602: RAISE FND_API.G_EXC_ERROR;
2603: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2605: END IF;
2606: g_order := OE_CREDIT_CHECK_UTIL.g_current_order_value ;
2599: END IF;
2600:
2601: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2602: RAISE FND_API.G_EXC_ERROR;
2603: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2605: END IF;
2606: g_order := OE_CREDIT_CHECK_UTIL.g_current_order_value ;
2607:
2600:
2601: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2602: RAISE FND_API.G_EXC_ERROR;
2603: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2604: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2605: END IF;
2606: g_order := OE_CREDIT_CHECK_UTIL.g_current_order_value ;
2607:
2608:
2668:
2669: END IF;
2670: END IF;
2671:
2672: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2673: RAISE FND_API.G_EXC_ERROR;
2674: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2676: END IF;
2669: END IF;
2670: END IF;
2671:
2672: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2673: RAISE FND_API.G_EXC_ERROR;
2674: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2676: END IF;
2677:
2670: END IF;
2671:
2672: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2673: RAISE FND_API.G_EXC_ERROR;
2674: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2676: END IF;
2677:
2678: -- IF l_cc_result_out = 'PASS' THEN
2671:
2672: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2673: RAISE FND_API.G_EXC_ERROR;
2674: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2675: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2676: END IF;
2677:
2678: -- IF l_cc_result_out = 'PASS' THEN
2679: -- Changed IF condition to fix bug 4002813, need to do overall
2783:
2784: END IF;
2785: END IF;
2786:
2787: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2788: RAISE FND_API.G_EXC_ERROR;
2789: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2790: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2791: END IF;
2784: END IF;
2785: END IF;
2786:
2787: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2788: RAISE FND_API.G_EXC_ERROR;
2789: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2790: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2791: END IF;
2792:
2785: END IF;
2786:
2787: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2788: RAISE FND_API.G_EXC_ERROR;
2789: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2790: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2791: END IF;
2792:
2793: -- l_cc_limit_used := 'OVERALL';
2786:
2787: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
2788: RAISE FND_API.G_EXC_ERROR;
2789: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2790: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2791: END IF;
2792:
2793: -- l_cc_limit_used := 'OVERALL';
2794:
2957: END IF;
2958: ----------------Submit Credit Review--------------------
2959: AR_CMGT_CREDIT_REQUEST_API.Create_credit_request
2960: ( p_api_version => 1.0
2961: , p_init_msg_list => FND_API.G_FALSE
2962: , p_commit => FND_API.G_FALSE
2963: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2964: , x_return_status => x_return_status
2965: , x_msg_count => l_msg_count
2958: ----------------Submit Credit Review--------------------
2959: AR_CMGT_CREDIT_REQUEST_API.Create_credit_request
2960: ( p_api_version => 1.0
2961: , p_init_msg_list => FND_API.G_FALSE
2962: , p_commit => FND_API.G_FALSE
2963: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2964: , x_return_status => x_return_status
2965: , x_msg_count => l_msg_count
2966: , x_msg_data => l_msg_data
2959: AR_CMGT_CREDIT_REQUEST_API.Create_credit_request
2960: ( p_api_version => 1.0
2961: , p_init_msg_list => FND_API.G_FALSE
2962: , p_commit => FND_API.G_FALSE
2963: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
2964: , x_return_status => x_return_status
2965: , x_msg_count => l_msg_count
2966: , x_msg_data => l_msg_data
2967: , p_application_number => NULL
3060: OE_DEBUG_PUB.Add('OEXVCRHB: Out Check_Other_Credit Limits');
3061: END IF;
3062:
3063: EXCEPTION
3064: WHEN FND_API.G_EXC_ERROR THEN
3065: x_return_status := FND_API.G_RET_STS_ERROR;
3066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3067: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3068: WHEN OTHERS THEN
3061: END IF;
3062:
3063: EXCEPTION
3064: WHEN FND_API.G_EXC_ERROR THEN
3065: x_return_status := FND_API.G_RET_STS_ERROR;
3066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3067: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3068: WHEN OTHERS THEN
3069: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3062:
3063: EXCEPTION
3064: WHEN FND_API.G_EXC_ERROR THEN
3065: x_return_status := FND_API.G_RET_STS_ERROR;
3066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3067: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3068: WHEN OTHERS THEN
3069: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3070: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3063: EXCEPTION
3064: WHEN FND_API.G_EXC_ERROR THEN
3065: x_return_status := FND_API.G_RET_STS_ERROR;
3066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3067: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3068: WHEN OTHERS THEN
3069: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3070: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3071: OE_MSG_PUB.Add_Exc_Msg
3065: x_return_status := FND_API.G_RET_STS_ERROR;
3066: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3067: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3068: WHEN OTHERS THEN
3069: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3070: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3071: OE_MSG_PUB.Add_Exc_Msg
3072: ( G_PKG_NAME, 'Check_Other_Credit_Limits');
3073: END IF;
3119: --
3120: -- Set the default behavior to pass credit check
3121: --
3122: x_cc_result_out := 'NOCHECK';
3123: x_return_status := FND_API.G_RET_STS_SUCCESS;
3124: G_result_out := 'PASS' ;
3125: l_global_exposure_flag := 'N' ;
3126: g_hold_exist := NULL ;
3127: OE_Credit_Engine_GRP.G_currency_error_msg := NULL ;
3208: -- check 5: overall limit |
3209: ----------------------------------------------------+
3210:
3211: --ER 12363706 start
3212: IF NVL(OE_credit_engine_GRP.G_delayed_request, FND_API.G_FALSE ) = FND_API.G_TRUE
3213: THEN
3214: IF OE_CREDIT_ENGINE_GRP.TOLERANCE_CHECK_REQUIRED
3215: THEN
3216: oe_debug_pub.ADD('OEXVCRLB: Tolerance Check is required');
3261: || x_return_status );
3262: END IF;
3263: ELSE
3264: l_cc_result_out := 'PASS' ;
3265: x_return_status := FND_API.G_RET_STS_SUCCESS;
3266: IF G_debug_flag = 'Y' THEN
3267: OE_DEBUG_PUB.Add(' No Item category credit checking, flag OFF ');
3268: OE_DEBUG_PUB.Add('l_cc_result_out = '
3269: || l_cc_result_out );
3271: || x_return_status );
3272: END IF;
3273: END IF;
3274:
3275: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3276: RAISE FND_API.G_EXC_ERROR;
3277: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3279: END IF;
3272: END IF;
3273: END IF;
3274:
3275: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3276: RAISE FND_API.G_EXC_ERROR;
3277: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3279: END IF;
3280: --
3273: END IF;
3274:
3275: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3276: RAISE FND_API.G_EXC_ERROR;
3277: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3279: END IF;
3280: --
3281: -- Apply the database hold and Exit the bill-to site loop if
3274:
3275: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3276: RAISE FND_API.G_EXC_ERROR;
3277: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3279: END IF;
3280: --
3281: -- Apply the database hold and Exit the bill-to site loop if
3282: -- credit hold level is ORDER and the order failed credit check.
3331: OE_DEBUG_PUB.Add('Check_Other_Credit_Limits: Return Status = '
3332: || x_return_status );
3333: END IF;
3334:
3335: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3336: RAISE FND_API.G_EXC_ERROR;
3337: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3338: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3339: END IF;
3332: || x_return_status );
3333: END IF;
3334:
3335: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3336: RAISE FND_API.G_EXC_ERROR;
3337: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3338: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3339: END IF;
3340:
3333: END IF;
3334:
3335: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3336: RAISE FND_API.G_EXC_ERROR;
3337: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3338: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3339: END IF;
3340:
3341: -- Apply order level credit hold to the database if it necessary
3334:
3335: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
3336: RAISE FND_API.G_EXC_ERROR;
3337: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3338: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3339: END IF;
3340:
3341: -- Apply order level credit hold to the database if it necessary
3342:
3424: OE_DEBUG_PUB.Add('OEXVCRHB: Out Check_order_credit API');
3425: END IF;
3426:
3427: EXCEPTION
3428: WHEN FND_API.G_EXC_ERROR THEN
3429: OE_CREDIT_ENGINE_GRP.TOLERANCE_CHECK_REQUIRED := TRUE; -- ER 12363706
3430: IF G_debug_flag = 'Y' THEN
3431: OE_DEBUG_PUB.Add('Check_order_credit: Error ');
3432: END IF;
3429: OE_CREDIT_ENGINE_GRP.TOLERANCE_CHECK_REQUIRED := TRUE; -- ER 12363706
3430: IF G_debug_flag = 'Y' THEN
3431: OE_DEBUG_PUB.Add('Check_order_credit: Error ');
3432: END IF;
3433: x_return_status := FND_API.G_RET_STS_ERROR;
3434: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3435: OE_CREDIT_ENGINE_GRP.TOLERANCE_CHECK_REQUIRED := TRUE; -- ER 12363706
3436: IF G_debug_flag = 'Y' THEN
3437: OE_DEBUG_PUB.Add('Check_order_credit: Unexpected Error ');
3430: IF G_debug_flag = 'Y' THEN
3431: OE_DEBUG_PUB.Add('Check_order_credit: Error ');
3432: END IF;
3433: x_return_status := FND_API.G_RET_STS_ERROR;
3434: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3435: OE_CREDIT_ENGINE_GRP.TOLERANCE_CHECK_REQUIRED := TRUE; -- ER 12363706
3436: IF G_debug_flag = 'Y' THEN
3437: OE_DEBUG_PUB.Add('Check_order_credit: Unexpected Error ');
3438: END IF;
3435: OE_CREDIT_ENGINE_GRP.TOLERANCE_CHECK_REQUIRED := TRUE; -- ER 12363706
3436: IF G_debug_flag = 'Y' THEN
3437: OE_DEBUG_PUB.Add('Check_order_credit: Unexpected Error ');
3438: END IF;
3439: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3440: WHEN OTHERS THEN
3441: OE_CREDIT_ENGINE_GRP.TOLERANCE_CHECK_REQUIRED := TRUE; -- ER 12363706
3442: IF G_debug_flag = 'Y' THEN
3443: OE_DEBUG_PUB.Add('Check_order_credit: Other Unexpected Error ');
3441: OE_CREDIT_ENGINE_GRP.TOLERANCE_CHECK_REQUIRED := TRUE; -- ER 12363706
3442: IF G_debug_flag = 'Y' THEN
3443: OE_DEBUG_PUB.Add('Check_order_credit: Other Unexpected Error ');
3444: END IF;
3445: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3446: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3447: OE_MSG_PUB.Add_Exc_Msg
3448: ( G_PKG_NAME
3449: , 'Check_order_credit'