72: FROM OE_ORDER_LINES_ALL where header_id = p_header_id AND
73: line_id= top_model_line_id and open_flag='Y' and nvl(cancelled_flag,'N') ='N';
74:
75: BEGIN
76: l_return_status := FND_API.G_RET_STS_SUCCESS;
77: l_valid_config := 'TRUE';
78: l_complete_config := 'TRUE';
79:
80:
97: x_valid_config => l_valid_config,
98: x_complete_config => l_complete_config,
99: x_return_status => l_return_status);
100:
101: IF (l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
102: IF (l_valid_config = 'TRUE' AND l_complete_config = 'TRUE' ) THEN
103: l_continue := TRUE;
104: ELSE
105: l_continue := FALSE;
433: complete the WF activity-Pricing eligible with Result=N
434: */
435:
436: PROCEDURE Complete_Compliance_Eligible
437: ( p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
438: , p_header_id IN NUMBER
439: , p_accept IN VARCHAR2
440: , p_item_type IN VARCHAR2
441: , x_return_status OUT NOCOPY VARCHAR2
499: BEGIN
500: IF l_debug_level > 0 THEN
501: oe_debug_pub.add( 'ENTER OE_DEALS_UTIL.COMPLETE_COMPLIANCE_ELIGIBLE' , 1 ) ;
502: END IF;
503: x_return_status := FND_API.G_RET_STS_SUCCESS;
504: -- Initialize message list.
505: IF FND_API.to_Boolean(p_init_msg_list) THEN
506: OE_MSG_PUB.initialize;
507: END IF;
501: oe_debug_pub.add( 'ENTER OE_DEALS_UTIL.COMPLETE_COMPLIANCE_ELIGIBLE' , 1 ) ;
502: END IF;
503: x_return_status := FND_API.G_RET_STS_SUCCESS;
504: -- Initialize message list.
505: IF FND_API.to_Boolean(p_init_msg_list) THEN
506: OE_MSG_PUB.initialize;
507: END IF;
508:
509: SELECT order_source_id, orig_sys_document_ref, change_sequence, source_document_type_id, source_document_id,
541: FETCH Compliance_errored INTO l_Compliance_errored_flag;
542: IF (Compliance_errored%FOUND) THEN
543: FND_MESSAGE.SET_NAME('ONT','OE_ORDER_COMP_CHECK_ERRORED');
544: OE_MSG_PUB.ADD;
545: RAISE FND_API.G_EXC_ERROR;
546: ELSE
547: FND_MESSAGE.SET_NAME('ONT','OE_ORDER_COMP_NOT_ELIGIBLE');
548: OE_MSG_PUB.ADD;
549: RAISE FND_API.G_EXC_ERROR;
545: RAISE FND_API.G_EXC_ERROR;
546: ELSE
547: FND_MESSAGE.SET_NAME('ONT','OE_ORDER_COMP_NOT_ELIGIBLE');
548: OE_MSG_PUB.ADD;
549: RAISE FND_API.G_EXC_ERROR;
550: END IF;
551: CLOSE Compliance_errored;
552: END IF;
553:
556: OE_ORDER_UTIL.Lock_Order_Object
557: (p_header_id => p_header_id
558: ,x_return_status => x_return_status
559: );
560: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
561: RAISE FND_API.G_EXC_ERROR;
562: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
563: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
564: END IF;
557: (p_header_id => p_header_id
558: ,x_return_status => x_return_status
559: );
560: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
561: RAISE FND_API.G_EXC_ERROR;
562: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
563: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
564: END IF;
565:
558: ,x_return_status => x_return_status
559: );
560: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
561: RAISE FND_API.G_EXC_ERROR;
562: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
563: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
564: END IF;
565:
566: OE_Standard_WF.OEOH_SELECTOR
559: );
560: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
561: RAISE FND_API.G_EXC_ERROR;
562: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
563: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
564: END IF;
565:
566: OE_Standard_WF.OEOH_SELECTOR
567: (p_itemtype => p_item_type
606: oe_debug_pub.add( 'EXIT OE_DEALS_UTIL.COMPLETE_Compliance_eligible' , 1 ) ;
607: END IF;
608:
609: EXCEPTION
610: WHEN FND_API.G_EXC_ERROR THEN
611: IF l_debug_level > 0 THEN
612: oe_debug_pub.add( 'EXC ERROR OE_DEALS_UTIL.COMPLETE_Compliance_eligible' , 1 ) ;
613: END IF;
614: x_return_status := FND_API.G_RET_STS_ERROR;
610: WHEN FND_API.G_EXC_ERROR THEN
611: IF l_debug_level > 0 THEN
612: oe_debug_pub.add( 'EXC ERROR OE_DEALS_UTIL.COMPLETE_Compliance_eligible' , 1 ) ;
613: END IF;
614: x_return_status := FND_API.G_RET_STS_ERROR;
615: IF (Compliance_eligible%ISOPEN) THEN
616: CLOSE Compliance_eligible;
617: END IF;
618: IF (Compliance_errored%ISOPEN) THEN
623: , p_data => x_msg_data
624: );
625: OE_MSG_PUB.Reset_Msg_Context(p_entity_code => 'HEADER');
626:
627: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
628: IF l_debug_level > 0 THEN
629: oe_debug_pub.add( 'EXC UNEXPECTED ERROR OE_DEALS_UTIL.COMPLETE_Compliance_eligible' , 1 ) ;
630: END IF;
631: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
627: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
628: IF l_debug_level > 0 THEN
629: oe_debug_pub.add( 'EXC UNEXPECTED ERROR OE_DEALS_UTIL.COMPLETE_Compliance_eligible' , 1 ) ;
630: END IF;
631: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
632: IF (Compliance_eligible%ISOPEN) THEN
633: CLOSE Compliance_eligible;
634: END IF;
635: IF (Compliance_errored%ISOPEN) THEN
644: WHEN OTHERS THEN
645: IF l_debug_level > 0 THEN
646: oe_debug_pub.add( 'OTHER ERROR OE_DEALS_UTIL.COMPLETE_Compliance_eligible' , 1 ) ;
647: END IF;
648: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
649: IF (Compliance_eligible%ISOPEN) THEN
650: CLOSE Compliance_eligible;
651: END IF;
652: IF (Compliance_errored%ISOPEN) THEN
717: OE_ORDER_UTIL.Lock_Order_Object
718: (p_header_id => l_header_id
719: ,x_return_status => l_return_status
720: );
721: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
722: x_message_name := 'OE_LOCK_ROW_ALREADY_LOCKED';
723: RAISE FND_API.G_EXC_ERROR;
724: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
725: x_message_name := 'OE_LOCK_ROW_ALREADY_LOCKED';
719: ,x_return_status => l_return_status
720: );
721: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
722: x_message_name := 'OE_LOCK_ROW_ALREADY_LOCKED';
723: RAISE FND_API.G_EXC_ERROR;
724: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
725: x_message_name := 'OE_LOCK_ROW_ALREADY_LOCKED';
726: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
727: END IF;
720: );
721: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
722: x_message_name := 'OE_LOCK_ROW_ALREADY_LOCKED';
723: RAISE FND_API.G_EXC_ERROR;
724: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
725: x_message_name := 'OE_LOCK_ROW_ALREADY_LOCKED';
726: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
727: END IF;
728:
722: x_message_name := 'OE_LOCK_ROW_ALREADY_LOCKED';
723: RAISE FND_API.G_EXC_ERROR;
724: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
725: x_message_name := 'OE_LOCK_ROW_ALREADY_LOCKED';
726: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
727: END IF;
728:
729: OE_STANDARD_WF.OEOH_SELECTOR(
730: p_itemtype => l_item_type,
732: p_actid => 12345,
733: p_funcmode => 'SET_CTX',
734: p_result => l_result);
735:
736: x_return_status := FND_API.G_RET_STS_SUCCESS;
737: x_message_name := NULL;
738:
739: --No acionable when deal is created
740: IF (event = 'CREATED') then
753: , p_item_type => l_item_type
754: , x_return_status => x_return_status
755: , x_msg_count => l_msg_count
756: , x_msg_data => l_msg_data);
757: IF(x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
758: UPDATE oe_order_headers_all SET
759: flow_status_code = 'PENDING_PRICING_APPROVAL'
760: WHERE header_id = l_header_id;
761: ELSE
758: UPDATE oe_order_headers_all SET
759: flow_status_code = 'PENDING_PRICING_APPROVAL'
760: WHERE header_id = l_header_id;
761: ELSE
762: x_return_status := FND_API.G_RET_STS_ERROR;
763: x_message_name := 'OE_ORDER_COMP_CHECK_ERRORED';
764: END IF;
765: ELSE
766: x_return_status := FND_API.G_RET_STS_ERROR;
762: x_return_status := FND_API.G_RET_STS_ERROR;
763: x_message_name := 'OE_ORDER_COMP_CHECK_ERRORED';
764: END IF;
765: ELSE
766: x_return_status := FND_API.G_RET_STS_ERROR;
767: x_message_name := 'OE_DEAL_CONFIG_FAIL';
768: END IF;
769: END IF;
770:
787: , p_item_type => l_item_type
788: , x_return_status => x_return_status
789: , x_msg_count => l_msg_count
790: , x_msg_data => l_msg_data);
791: IF(x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
792: x_return_status := FND_API.G_RET_STS_ERROR;
793: x_message_name := 'OE_DEAL_UPDATE_FAILED';
794: END IF;
795:
788: , x_return_status => x_return_status
789: , x_msg_count => l_msg_count
790: , x_msg_data => l_msg_data);
791: IF(x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
792: x_return_status := FND_API.G_RET_STS_ERROR;
793: x_message_name := 'OE_DEAL_UPDATE_FAILED';
794: END IF;
795:
796: ELSE
793: x_message_name := 'OE_DEAL_UPDATE_FAILED';
794: END IF;
795:
796: ELSE
797: x_return_status := FND_API.G_RET_STS_ERROR;
798: x_message_name := 'OE_DEAL_CONFIG_FAIL';
799: END IF;
800:
801: END IF;
834: oe_debug_pub.add('x_message_name: '||x_message_name);
835:
836: EXCEPTION
837: WHEN OTHERS THEN
838: x_return_status := FND_API.G_RET_STS_ERROR;
839: --Bug 7039864
840: IF x_message_name IS NOT NULL
841: THEN
842: FND_MESSAGE.SET_NAME('ONT',x_message_name);
921: IF l_debug_level > 0 THEN
922: oe_debug_pub.add( 'call Process Order API ' , 1 ) ;
923: END IF;
924:
925: x_return_status := FND_API.G_RET_STS_SUCCESS;
926: x_msg_count := NULL ;
927: x_msg_data := NULL ;
928:
929: l_list_line_profile := FND_PROFILE.VALUE('QPR_DEAL_DIFF_MODIFIER') ;
940: OE_MSG_PUB.ADD;
941: IF l_debug_level > 0 THEN
942: oe_debug_pub.add( 'Profile is NULL ' , 1 ) ;
943: END IF;
944: RAISE FND_API.G_EXC_ERROR;
945: END IF;
946:
947: IF l_debug_level > 0 THEN
948: oe_debug_pub.add( 'In call Process Order API-Modifier ' || l_list_line_id , 1 ) ;
1049: END IF;
1050:
1051: Oe_Order_Pvt.Process_Order(
1052: p_api_version_number => '1.0'
1053: , p_init_msg_list => FND_API.G_FALSE
1054: , x_return_status => x_return_status
1055: , x_msg_count => x_msg_count
1056: , x_msg_data => x_msg_data
1057: --IN PARAMETERS
1074:
1075: IF l_debug_level > 0 THEN
1076: oe_debug_pub.add( 'Status after PO API call from deals ' || x_return_status, 1 ) ;
1077: END IF;
1078: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1079: IF l_debug_level > 0 THEN
1080: oe_debug_pub.add( 'Raising Error', 1 ) ;
1081: END IF;
1082: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1078: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1079: IF l_debug_level > 0 THEN
1080: oe_debug_pub.add( 'Raising Error', 1 ) ;
1081: END IF;
1082: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1083: END IF;
1084:
1085: EXCEPTION
1086: WHEN FND_API.G_EXC_ERROR THEN
1082: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1083: END IF;
1084:
1085: EXCEPTION
1086: WHEN FND_API.G_EXC_ERROR THEN
1087: x_return_status := FND_API.G_RET_STS_ERROR;
1088:
1089: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1090: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1083: END IF;
1084:
1085: EXCEPTION
1086: WHEN FND_API.G_EXC_ERROR THEN
1087: x_return_status := FND_API.G_RET_STS_ERROR;
1088:
1089: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1090: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1091:
1085: EXCEPTION
1086: WHEN FND_API.G_EXC_ERROR THEN
1087: x_return_status := FND_API.G_RET_STS_ERROR;
1088:
1089: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1090: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1091:
1092: FOR k IN 1 .. x_msg_count LOOP
1093: x_msg_data := oe_msg_pub.get( p_msg_index => k,p_encoded => 'F');
1086: WHEN FND_API.G_EXC_ERROR THEN
1087: x_return_status := FND_API.G_RET_STS_ERROR;
1088:
1089: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1090: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1091:
1092: FOR k IN 1 .. x_msg_count LOOP
1093: x_msg_data := oe_msg_pub.get( p_msg_index => k,p_encoded => 'F');
1094: END LOOP;
1093: x_msg_data := oe_msg_pub.get( p_msg_index => k,p_encoded => 'F');
1094: END LOOP;
1095:
1096: WHEN OTHERS THEN
1097: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1098: IF l_debug_level > 0 THEN
1099: oe_debug_pub.add( 'Status other ' || sqlerrm, 1 ) ;
1100: END IF;
1101:
1225: ,p_source_document_id => l_source_document_id
1226: ,p_source_document_line_id => null );
1227:
1228: l_deal_id := NULL;
1229: x_return_status := FND_API.G_RET_STS_SUCCESS;
1230:
1231:
1232: IF l_debug_level > 0 THEN
1233: oe_debug_pub.add( 'Deal Info - ' || l_deal_id || l_deal_status , 1 ) ;
1240: IF l_debug_level > 0 THEN
1241: oe_debug_pub.add( 'After PO API from Deal - ' || x_return_status , 1 ) ;
1242: END IF;
1243:
1244: IF x_return_status = FND_API.G_RET_STS_SUCCESS THEN
1245:
1246: --there can be 2 cases--Direct approve without submit-- so progress both activity
1247: --and submit-approve - progress only submit WF activity
1248: BEGIN
1297: END IF;
1298: ELSE
1299: FND_MESSAGE.SET_NAME('ONT','OE_DEAL_UPDATE_FAILED');
1300: OE_MSG_PUB.ADD;
1301: RAISE FND_API.G_EXC_ERROR;
1302: END IF;
1303: OE_MSG_PUB.set_msg_context(
1304: p_entity_code => 'HEADER'
1305: ,p_entity_id => p_header_id
1319:
1320: OE_MSG_PUB.Reset_Msg_Context(p_entity_code => 'HEADER');
1321: EXCEPTION
1322: WHEN OTHERS THEN
1323: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1324: IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1325: OE_MSG_PUB.Add_Exc_Msg
1326: ( 'OE_DEALS_UTIL'
1327: , 'Update_Order_with_Deal'