3:
4: G_PKG_NAME CONSTANT VARCHAR2(30):='OE_Schedule';
5: G_SOURCE_AGAIN VARCHAR2(1) := 'Y';
6: G_OVERRIDE_FLAG VARCHAR2(1) := 'N';
7: G_UPDATE_FLAG VARCHAR2(1) := FND_API.G_TRUE;
8: G_LINE_ACTION VARCHAR2(30) := null;
9: G_HEADER_ID NUMBER := null;
10: G_DATE_TYPE VARCHAR2(30) := null;
11: USER_SPLIT CONSTANT VARCHAR2(30) := 'USER_SPLIT';
99: oe_debug_pub.add( 'IT IS A CREATE ACTION ON THE LINE' , 1 ) ;
100: END IF;
101:
102: IF (p_line_rec.ship_set_id is not null AND
103: p_line_rec.ship_set_id <> FND_API.G_MISS_NUM) OR
104: (p_line_rec.arrival_set_id is not null AND
105: p_line_rec.arrival_set_id <> FND_API.G_MISS_NUM) OR
106: (p_line_rec.ship_model_complete_flag = 'Y') OR
107: (p_line_rec.ato_line_id is not null AND
101:
102: IF (p_line_rec.ship_set_id is not null AND
103: p_line_rec.ship_set_id <> FND_API.G_MISS_NUM) OR
104: (p_line_rec.arrival_set_id is not null AND
105: p_line_rec.arrival_set_id <> FND_API.G_MISS_NUM) OR
106: (p_line_rec.ship_model_complete_flag = 'Y') OR
107: (p_line_rec.ato_line_id is not null AND
108: p_line_rec.ato_line_id <> FND_API.G_MISS_NUM AND
109: NOT (p_line_rec.ato_line_id = p_line_rec.line_id AND
104: (p_line_rec.arrival_set_id is not null AND
105: p_line_rec.arrival_set_id <> FND_API.G_MISS_NUM) OR
106: (p_line_rec.ship_model_complete_flag = 'Y') OR
107: (p_line_rec.ato_line_id is not null AND
108: p_line_rec.ato_line_id <> FND_API.G_MISS_NUM AND
109: NOT (p_line_rec.ato_line_id = p_line_rec.line_id AND
110: p_line_rec.item_type_code IN (OE_GLOBALS.G_ITEM_STANDARD,
111: OE_GLOBALS.G_ITEM_OPTION))) THEN
112:
502: IF l_debug_level > 0 THEN
503: oe_debug_pub.add( 'RR:I1' ) ;
504: END IF;
505: IF p_line_rec.explosion_date is not null AND
506: p_line_rec.explosion_date <> FND_API.G_MISS_DATE THEN
507: l_explode := FALSE;
508: ELSE
509: l_explode := TRUE;
510: END IF;
546: oe_set_util.g_set_recursive_flag := FALSE;
547: END IF;
548:
549:
550: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
551: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
552: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
553: RAISE FND_API.G_EXC_ERROR;
554: END IF;
547: END IF;
548:
549:
550: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
551: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
552: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
553: RAISE FND_API.G_EXC_ERROR;
554: END IF;
555:
548:
549:
550: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
551: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
552: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
553: RAISE FND_API.G_EXC_ERROR;
554: END IF;
555:
556: -- x_line_tbl :=
549:
550: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
551: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
552: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
553: RAISE FND_API.G_EXC_ERROR;
554: END IF;
555:
556: -- x_line_tbl :=
557: -- oe_config_util.query_included_items(p_line_rec.line_id);
591: -- RETURN l_line_tbl;
592:
593: EXCEPTION
594:
595: WHEN FND_API.G_EXC_ERROR THEN
596: RAISE FND_API.G_EXC_ERROR;
597:
598: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
599:
592:
593: EXCEPTION
594:
595: WHEN FND_API.G_EXC_ERROR THEN
596: RAISE FND_API.G_EXC_ERROR;
597:
598: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
599:
600: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
594:
595: WHEN FND_API.G_EXC_ERROR THEN
596: RAISE FND_API.G_EXC_ERROR;
597:
598: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
599:
600: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
601: THEN
602: OE_MSG_PUB.Add_Exc_Msg
704: -- (p_line_rec => p_x_line_rec);
705:
706: l_old_recursion_mode := OE_GLOBALS.G_RECURSION_MODE;
707:
708: IF p_recursive_call = FND_API.G_TRUE
709: THEN
710:
711: -- OE_GLOBALS.G_RECURSION_MODE := 'Y';
712: null;
768:
769: IF NOT OE_GLOBALS.Equal(p_x_line_rec.ship_from_org_id,
770: p_old_line_rec.ship_from_org_id) OR
771: l_line_rec.ship_from_org_id IS NULL OR
772: l_line_rec.ship_from_org_id = FND_API.G_MISS_NUM
773: THEN
774: l_line_rec.ship_from_org_id :=
775: p_x_line_rec.ship_from_org_id;
776: END IF;
784: THEN
785: l_old_ordered_quantity := p_old_line_rec.ordered_quantity;
786: IF l_old_ordered_quantity IS null OR
787: l_old_ordered_quantity = 0 OR
788: l_old_ordered_quantity = FND_API.G_MISS_NUM THEN
789: l_old_ordered_quantity := p_x_line_rec.ordered_quantity;
790: END IF;
791:
792: IF l_debug_level > 0 THEN
869: p_old_line_rec => l_old_line_tbl(I),
870: x_out_atp_tbl => l_out_atp_tbl ,
871: x_return_status => l_return_status);
872:
873: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
874: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
875: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
876: RAISE FND_API.G_EXC_ERROR;
877: END IF;
870: x_out_atp_tbl => l_out_atp_tbl ,
871: x_return_status => l_return_status);
872:
873: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
874: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
875: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
876: RAISE FND_API.G_EXC_ERROR;
877: END IF;
878:
871: x_return_status => l_return_status);
872:
873: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
874: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
875: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
876: RAISE FND_API.G_EXC_ERROR;
877: END IF;
878:
879: IF p_x_line_rec.line_id = l_out_line_rec.line_id THEN
872:
873: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
874: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
875: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
876: RAISE FND_API.G_EXC_ERROR;
877: END IF;
878:
879: IF p_x_line_rec.line_id = l_out_line_rec.line_id THEN
880: IF l_debug_level > 0 THEN
903: IF NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_action_code,
904: OESCH_ACT_ATP_CHECK) AND
905: NOT OE_GLOBALS.Equal(p_x_line_rec.schedule_action_code,
906: OESCH_ACT_UNRESERVE) AND
907: g_update_flag = FND_API.G_TRUE
908: THEN
909:
910: IF l_debug_level > 0 THEN
911: oe_debug_pub.add( 'CALLING UPDATE_LINE_RECORD WITH NEW TABLE ' , 1 ) ;
920: IF l_debug_level > 0 THEN
921: oe_debug_pub.add( 'AFTER CALLING UPDATE_LINE_RECORD :' || L_RETURN_STATUS , 1 ) ;
922: END IF;
923:
924: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
925: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
926: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
927: RAISE FND_API.G_EXC_ERROR;
928: END IF;
921: oe_debug_pub.add( 'AFTER CALLING UPDATE_LINE_RECORD :' || L_RETURN_STATUS , 1 ) ;
922: END IF;
923:
924: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
925: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
926: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
927: RAISE FND_API.G_EXC_ERROR;
928: END IF;
929:
922: END IF;
923:
924: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
925: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
926: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
927: RAISE FND_API.G_EXC_ERROR;
928: END IF;
929:
930: IF l_inc_upd_index <> 0 THEN
923:
924: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
925: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
926: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
927: RAISE FND_API.G_EXC_ERROR;
928: END IF;
929:
930: IF l_inc_upd_index <> 0 THEN
931:
934: END IF;
935:
936: Update_line_record(p_line_tbl => l_inc_old_tbl,
937: p_x_new_line_tbl => l_inc_upd_tbl,
938: p_write_to_db => FND_API.G_TRUE,
939: p_recursive_call => p_recursive_call,
940: x_return_status => l_return_status);
941:
942: IF l_debug_level > 0 THEN
942: IF l_debug_level > 0 THEN
943: oe_debug_pub.add( 'AFTER CALLING UPDATE_LINE_RECORD :' || L_RETURN_STATUS , 1 ) ;
944: END IF;
945:
946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
949: RAISE FND_API.G_EXC_ERROR;
950: END IF;
943: oe_debug_pub.add( 'AFTER CALLING UPDATE_LINE_RECORD :' || L_RETURN_STATUS , 1 ) ;
944: END IF;
945:
946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
949: RAISE FND_API.G_EXC_ERROR;
950: END IF;
951:
944: END IF;
945:
946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
949: RAISE FND_API.G_EXC_ERROR;
950: END IF;
951:
952: END IF;
945:
946: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
947: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
948: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
949: RAISE FND_API.G_EXC_ERROR;
950: END IF;
951:
952: END IF;
953:
952: END IF;
953:
954: -- Do not process delayed requests if this was a recursive
955: -- call (e.g. from oe_line_util.pre_write_process)
956: IF p_recursive_call = FND_API.G_TRUE THEN
957: l_process_requests := FALSE;
958: ELSE
959: l_process_requests := TRUE;
960: END IF;
973: , p_old_line_tbl => l_old_line_tbl
974: , x_return_status => l_return_status
975: );
976:
977: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
979: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
980: RAISE FND_API.G_EXC_ERROR;
981: END IF;
974: , x_return_status => l_return_status
975: );
976:
977: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
979: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
980: RAISE FND_API.G_EXC_ERROR;
981: END IF;
982:
975: );
976:
977: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
979: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
980: RAISE FND_API.G_EXC_ERROR;
981: END IF;
982:
983: END IF;
976:
977: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
978: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
979: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
980: RAISE FND_API.G_EXC_ERROR;
981: END IF;
982:
983: END IF;
984:
988: oe_debug_pub.add( 'EXITING SCHEDULE PARENT LINE' , 1 ) ;
989: END IF;
990: EXCEPTION
991:
992: WHEN FND_API.G_EXC_ERROR THEN
993:
994: x_return_status := FND_API.G_RET_STS_ERROR;
995:
996: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
990: EXCEPTION
991:
992: WHEN FND_API.G_EXC_ERROR THEN
993:
994: x_return_status := FND_API.G_RET_STS_ERROR;
995:
996: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
997:
998: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
992: WHEN FND_API.G_EXC_ERROR THEN
993:
994: x_return_status := FND_API.G_RET_STS_ERROR;
995:
996: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
997:
998: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
999:
1000: WHEN OTHERS THEN
994: x_return_status := FND_API.G_RET_STS_ERROR;
995:
996: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
997:
998: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
999:
1000: WHEN OTHERS THEN
1001:
1002: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
998: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
999:
1000: WHEN OTHERS THEN
1001:
1002: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1003:
1004: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1005: THEN
1006: OE_MSG_PUB.Add_Exc_Msg
1045: END LOOP;
1046:
1047: OE_GRP_SCH_UTIL.Process_set_of_lines
1048: ( p_old_line_tbl => l_old_line_tbl,
1049: p_write_to_db => FND_API.G_FALSE,
1050: x_atp_tbl => l_atp_tbl,
1051: p_x_line_tbl => l_line_tbl,
1052: x_return_status => l_return_status);
1053:
1066: END LOOP;
1067:
1068: OE_GRP_SCH_UTIL.Process_set_of_lines
1069: ( p_old_line_tbl => l_old_line_tbl,
1070: p_write_to_db => FND_API.G_FALSE,
1071: x_atp_tbl => l_atp_tbl,
1072: p_x_line_tbl => l_line_tbl,
1073: x_return_status => l_return_status);
1074:
1071: x_atp_tbl => l_atp_tbl,
1072: p_x_line_tbl => l_line_tbl,
1073: x_return_status => l_return_status);
1074:
1075: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1076: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1077: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1078: RAISE FND_API.G_EXC_ERROR;
1079: END IF;
1072: p_x_line_tbl => l_line_tbl,
1073: x_return_status => l_return_status);
1074:
1075: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1076: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1077: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1078: RAISE FND_API.G_EXC_ERROR;
1079: END IF;
1080:
1073: x_return_status => l_return_status);
1074:
1075: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1076: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1077: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1078: RAISE FND_API.G_EXC_ERROR;
1079: END IF;
1080:
1081: IF l_debug_level > 0 THEN
1074:
1075: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1076: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1077: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1078: RAISE FND_API.G_EXC_ERROR;
1079: END IF;
1080:
1081: IF l_debug_level > 0 THEN
1082: oe_debug_pub.add( 'EXITING RESCHEDULE_SET' , 1 ) ;
1146: IF l_debug_level > 0 THEN
1147: oe_debug_pub.add( '4. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
1148: END IF;
1149:
1150: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1152: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1153: RAISE FND_API.G_EXC_ERROR;
1154: END IF;
1147: oe_debug_pub.add( '4. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
1148: END IF;
1149:
1150: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1152: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1153: RAISE FND_API.G_EXC_ERROR;
1154: END IF;
1155:
1148: END IF;
1149:
1150: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1152: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1153: RAISE FND_API.G_EXC_ERROR;
1154: END IF;
1155:
1156: IF l_debug_level > 0 THEN
1149:
1150: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1151: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1152: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1153: RAISE FND_API.G_EXC_ERROR;
1154: END IF;
1155:
1156: IF l_debug_level > 0 THEN
1157: oe_debug_pub.add( 'EXITING ACTION_UNDEMAND' , 1 ) ;
1176: -------------------------------------------------------------------------- */
1177:
1178: Procedure Schedule_line( p_old_line_rec IN OE_ORDER_PUB.line_rec_type,
1179: p_write_to_db IN VARCHAR2,
1180: p_update_flag IN VARCHAR2 := FND_API.G_TRUE,
1181: p_recursive_call IN VARCHAR2 := FND_API.G_TRUE,
1182: p_x_line_rec IN OUT NOCOPY OE_ORDER_PUB.line_rec_type,
1183: x_atp_tbl OUT NOCOPY /* file.sql.39 change */ OE_ATP.atp_tbl_type,
1184: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1177:
1178: Procedure Schedule_line( p_old_line_rec IN OE_ORDER_PUB.line_rec_type,
1179: p_write_to_db IN VARCHAR2,
1180: p_update_flag IN VARCHAR2 := FND_API.G_TRUE,
1181: p_recursive_call IN VARCHAR2 := FND_API.G_TRUE,
1182: p_x_line_rec IN OUT NOCOPY OE_ORDER_PUB.line_rec_type,
1183: x_atp_tbl OUT NOCOPY /* file.sql.39 change */ OE_ATP.atp_tbl_type,
1184: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
1185: )
1195: l_group_req_rec OE_GRP_SCH_UTIL.Sch_Group_Rec_Type;
1196: l_out_request_rec request_rec_type;
1197: l_need_sch BOOLEAN;
1198: l_entity_type VARCHAR2(30);
1199: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1200: l_dummy VARCHAR2(240);
1201: l_set_id NUMBER;
1202: l_sales_order_id NUMBER;
1203: l_request_type VARCHAR2(30);
1267:
1268: -- We need to decide the value of re_source_flag of the line before
1269: -- we proceed with scheduling.
1270:
1271: IF l_line_rec.ship_from_org_id = FND_API.G_MISS_NUM THEN
1272: l_line_rec.ship_from_org_id := null;
1273: END IF;
1274:
1275: IF l_old_line_rec.ship_from_org_id = FND_API.G_MISS_NUM THEN
1271: IF l_line_rec.ship_from_org_id = FND_API.G_MISS_NUM THEN
1272: l_line_rec.ship_from_org_id := null;
1273: END IF;
1274:
1275: IF l_old_line_rec.ship_from_org_id = FND_API.G_MISS_NUM THEN
1276: l_old_line_rec.ship_from_org_id := null;
1277: END IF;
1278:
1279:
1311: IF l_old_line_rec.reserved_quantity is null THEN
1312: IF l_debug_level > 0 THEN
1313: oe_debug_pub.add( 'RR: L_OLD_LINE_REC.RESERVED_QUANTITY IS NULL' , 1 ) ;
1314: END IF;
1315: ELSIF l_old_line_rec.reserved_quantity = FND_API.G_MISS_NUM THEN
1316: IF l_debug_level > 0 THEN
1317: oe_debug_pub.add( 'RR: L_OLD_LINE_REC.RESERVED_QUANTITY IS MISSING' , 1 ) ;
1318: END IF;
1319: END IF;
1354: -- Currently setting the reserved2 quantity to null if it is zero.
1355: l_old_line_rec.reserved_quantity2 := null;
1356: END IF;
1357:
1358: IF l_line_rec.reserved_quantity = FND_API.G_MISS_NUM
1359: THEN
1360: -- Converting missing to old value
1361: l_line_rec.reserved_quantity := l_old_line_rec.reserved_quantity;
1362: END IF;
1360: -- Converting missing to old value
1361: l_line_rec.reserved_quantity := l_old_line_rec.reserved_quantity;
1362: END IF;
1363:
1364: IF l_line_rec.reserved_quantity2 = FND_API.G_MISS_NUM -- INVCONV
1365: THEN
1366: -- Converting missing to old value
1367: l_line_rec.reserved_quantity2 := l_old_line_rec.reserved_quantity2;
1368: END IF;
1393: Validate_Line(p_line_rec => l_line_rec,
1394: p_old_line_rec => l_old_line_rec,
1395: x_return_status => l_return_status);
1396:
1397: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1399: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1400: l_return_status := FND_API.G_RET_STS_ERROR;
1401: goto end_schedule_line;
1394: p_old_line_rec => l_old_line_rec,
1395: x_return_status => l_return_status);
1396:
1397: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1399: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1400: l_return_status := FND_API.G_RET_STS_ERROR;
1401: goto end_schedule_line;
1402: END IF;
1395: x_return_status => l_return_status);
1396:
1397: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1399: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1400: l_return_status := FND_API.G_RET_STS_ERROR;
1401: goto end_schedule_line;
1402: END IF;
1403:
1396:
1397: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1399: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1400: l_return_status := FND_API.G_RET_STS_ERROR;
1401: goto end_schedule_line;
1402: END IF;
1403:
1404: /*
1421: THEN
1422: -- Get the Order Date Type Code
1423: l_type_code := Get_Date_Type(l_line_rec.header_id);
1424: IF ((l_line_rec.schedule_status_code IS NOT NULL AND
1425: l_line_rec.schedule_status_code <> FND_API.G_MISS_CHAR) AND
1426: l_line_rec.operation = OE_GLOBALS.G_OPR_UPDATE AND
1427: (NOT OE_GLOBALS.Equal(p_x_line_rec.inventory_item_id,
1428: p_old_line_rec.inventory_item_id)))
1429: THEN
1432: -- We should call MRP twice. First time we should call MRP with
1433: -- Undemand for old item. Second call would be redemand.
1434:
1435: IF (l_old_line_rec.reserved_quantity is not null AND
1436: l_old_line_rec.reserved_quantity <> FND_API.G_MISS_NUM)
1437: THEN
1438:
1439: -- Call INV API to delete the reservations on the line.
1440:
1444: , p_quantity_to_unreserve => l_old_line_rec.reserved_quantity
1445: , p_quantity2_to_unreserve => l_old_line_rec.reserved_quantity2 -- INVCONV
1446: , x_return_status => l_return_status);
1447:
1448: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1449: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1450: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1451: RAISE FND_API.G_EXC_ERROR;
1452: END IF;
1445: , p_quantity2_to_unreserve => l_old_line_rec.reserved_quantity2 -- INVCONV
1446: , x_return_status => l_return_status);
1447:
1448: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1449: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1450: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1451: RAISE FND_API.G_EXC_ERROR;
1452: END IF;
1453:
1446: , x_return_status => l_return_status);
1447:
1448: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1449: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1450: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1451: RAISE FND_API.G_EXC_ERROR;
1452: END IF;
1453:
1454:
1447:
1448: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1449: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1450: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1451: RAISE FND_API.G_EXC_ERROR;
1452: END IF;
1453:
1454:
1455: END IF;
1585: END IF;
1586:
1587:
1588: IF l_set_rec.ship_from_org_id is null
1589: OR l_set_rec.ship_from_org_id = FND_API.G_MISS_NUM THEN
1590:
1591: IF l_debug_level > 0 THEN
1592: oe_debug_pub.add( 'ONLY SCHEDULED LINE IS GETTING INTO NEW SET' , 2 ) ;
1593: END IF;
1749: IF l_debug_level > 0 THEN
1750: oe_debug_pub.add( 'AFTER CALLING CREATE_GROUP_REQUEST: ' || L_RETURN_STATUS , 1 ) ;
1751: END IF;
1752:
1753: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1754: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1755: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1756: RAISE FND_API.G_EXC_ERROR;
1757: END IF;
1750: oe_debug_pub.add( 'AFTER CALLING CREATE_GROUP_REQUEST: ' || L_RETURN_STATUS , 1 ) ;
1751: END IF;
1752:
1753: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1754: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1755: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1756: RAISE FND_API.G_EXC_ERROR;
1757: END IF;
1758:
1751: END IF;
1752:
1753: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1754: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1755: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1756: RAISE FND_API.G_EXC_ERROR;
1757: END IF;
1758:
1759: IF l_debug_level > 0 THEN
1752:
1753: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1754: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1755: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1756: RAISE FND_API.G_EXC_ERROR;
1757: END IF;
1758:
1759: IF l_debug_level > 0 THEN
1760: oe_debug_pub.add( 'CALLING GROUP_SCHEDULE' , 1 ) ;
1768: IF l_debug_level > 0 THEN
1769: oe_debug_pub.add( 'AFTER CALLING GROUP_SCHEDULE: ' || L_RETURN_STATUS , 1 ) ;
1770: END IF;
1771:
1772: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1773: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1774: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1775: RAISE FND_API.G_EXC_ERROR;
1776: END IF;
1769: oe_debug_pub.add( 'AFTER CALLING GROUP_SCHEDULE: ' || L_RETURN_STATUS , 1 ) ;
1770: END IF;
1771:
1772: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1773: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1774: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1775: RAISE FND_API.G_EXC_ERROR;
1776: END IF;
1777:
1770: END IF;
1771:
1772: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1773: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1774: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1775: RAISE FND_API.G_EXC_ERROR;
1776: END IF;
1777:
1778: IF NOT OE_GLOBALS.Equal(l_line_rec.schedule_action_code,
1771:
1772: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1773: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1774: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1775: RAISE FND_API.G_EXC_ERROR;
1776: END IF;
1777:
1778: IF NOT OE_GLOBALS.Equal(l_line_rec.schedule_action_code,
1779: OESCH_ACT_ATP_CHECK)
1797:
1798: IF l_debug_level > 0 THEN
1799: oe_debug_pub.add( 'AFTER CALLING UPDATE_GROUP_SCH_RESULTS' , 1 ) ;
1800: END IF;
1801: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1802: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1803: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1804: RAISE FND_API.G_EXC_ERROR;
1805: END IF;
1798: IF l_debug_level > 0 THEN
1799: oe_debug_pub.add( 'AFTER CALLING UPDATE_GROUP_SCH_RESULTS' , 1 ) ;
1800: END IF;
1801: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1802: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1803: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1804: RAISE FND_API.G_EXC_ERROR;
1805: END IF;
1806:
1799: oe_debug_pub.add( 'AFTER CALLING UPDATE_GROUP_SCH_RESULTS' , 1 ) ;
1800: END IF;
1801: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1802: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1803: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1804: RAISE FND_API.G_EXC_ERROR;
1805: END IF;
1806:
1807: -- Set the cascade_flag to TRUE, so that we query the block,
1800: END IF;
1801: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1802: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1803: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1804: RAISE FND_API.G_EXC_ERROR;
1805: END IF;
1806:
1807: -- Set the cascade_flag to TRUE, so that we query the block,
1808: -- since multiple lines have changed.
1865: IF l_debug_level > 0 THEN
1866: oe_debug_pub.add( 'AFTER CALLING SCHEDULE_PARENT_LINE: ' || L_RETURN_STATUS , 1 ) ;
1867: END IF;
1868:
1869: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1871: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1872: RAISE FND_API.G_EXC_ERROR;
1873: END IF;
1866: oe_debug_pub.add( 'AFTER CALLING SCHEDULE_PARENT_LINE: ' || L_RETURN_STATUS , 1 ) ;
1867: END IF;
1868:
1869: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1871: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1872: RAISE FND_API.G_EXC_ERROR;
1873: END IF;
1874:
1867: END IF;
1868:
1869: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1871: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1872: RAISE FND_API.G_EXC_ERROR;
1873: END IF;
1874:
1875: l_new_line_tbl(1) := l_out_line_rec;
1868:
1869: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1871: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1872: RAISE FND_API.G_EXC_ERROR;
1873: END IF;
1874:
1875: l_new_line_tbl(1) := l_out_line_rec;
1876: x_atp_tbl := l_out_atp_tbl;
1885: -- the acceptable dates to be the same as the schedule_date (which
1886: -- means window acceptable.
1887:
1888: IF (l_line_rec.ship_set_id is not null AND
1889: l_line_rec.ship_set_id <> FND_API.G_MISS_NUM) OR
1890: (l_line_rec.arrival_set_id is not null AND
1891: l_line_rec.arrival_set_id <> FND_API.G_MISS_NUM) THEN
1892:
1893: G_SOURCE_AGAIN := 'N';
1887:
1888: IF (l_line_rec.ship_set_id is not null AND
1889: l_line_rec.ship_set_id <> FND_API.G_MISS_NUM) OR
1890: (l_line_rec.arrival_set_id is not null AND
1891: l_line_rec.arrival_set_id <> FND_API.G_MISS_NUM) THEN
1892:
1893: G_SOURCE_AGAIN := 'N';
1894:
1895: END IF;
1912: -- Setting back g_source_again
1913:
1914: G_SOURCE_AGAIN := 'Y';
1915:
1916: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1917: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1918: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1919: RAISE FND_API.G_EXC_ERROR;
1920: END IF;
1913:
1914: G_SOURCE_AGAIN := 'Y';
1915:
1916: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1917: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1918: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1919: RAISE FND_API.G_EXC_ERROR;
1920: END IF;
1921:
1914: G_SOURCE_AGAIN := 'Y';
1915:
1916: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1917: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1918: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1919: RAISE FND_API.G_EXC_ERROR;
1920: END IF;
1921:
1922: IF l_debug_level > 0 THEN
1915:
1916: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1917: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1918: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1919: RAISE FND_API.G_EXC_ERROR;
1920: END IF;
1921:
1922: IF l_debug_level > 0 THEN
1923: oe_debug_pub.add( 'COUNT IS ' || L_OUT_ATP_TBL.COUNT , 1 ) ;
1941: OESCH_ACT_UNRESERVE) AND
1942: NOT (OE_GLOBALS.EQUAL(l_out_line_rec.schedule_action_code,
1943: OESCH_ACT_RESERVE) AND
1944: l_old_line_rec.schedule_status_code IS NOT NULL) AND
1945: g_update_flag = FND_API.G_TRUE
1946: THEN
1947:
1948: IF l_debug_level > 0 THEN
1949: oe_debug_pub.add( 'CALLING UPDATE_LINE_RECORD ' , 1 ) ;
1960: IF l_debug_level > 0 THEN
1961: oe_debug_pub.add( 'AFTER CALLING UPDATE_LINE_RECORD :' || L_RETURN_STATUS , 1 ) ;
1962: END IF;
1963:
1964: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1965: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1966: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1967: RAISE FND_API.G_EXC_ERROR;
1968: END IF;
1961: oe_debug_pub.add( 'AFTER CALLING UPDATE_LINE_RECORD :' || L_RETURN_STATUS , 1 ) ;
1962: END IF;
1963:
1964: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1965: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1966: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1967: RAISE FND_API.G_EXC_ERROR;
1968: END IF;
1969:
1962: END IF;
1963:
1964: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1965: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1966: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1967: RAISE FND_API.G_EXC_ERROR;
1968: END IF;
1969:
1970: -- Do not process delayed requests if this was a recursive
1963:
1964: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1965: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1966: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1967: RAISE FND_API.G_EXC_ERROR;
1968: END IF;
1969:
1970: -- Do not process delayed requests if this was a recursive
1971: -- call (e.g. from oe_line_util.pre_write_process)
1968: END IF;
1969:
1970: -- Do not process delayed requests if this was a recursive
1971: -- call (e.g. from oe_line_util.pre_write_process)
1972: IF p_recursive_call = FND_API.G_TRUE THEN
1973: l_process_requests := FALSE;
1974: ELSE
1975: l_process_requests := TRUE;
1976: END IF;
1982: , p_old_line_tbl => l_line_tbl
1983: , x_return_status => l_return_status
1984: );
1985:
1986: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1987: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1988: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1989: RAISE FND_API.G_EXC_ERROR;
1990: END IF;
1983: , x_return_status => l_return_status
1984: );
1985:
1986: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1987: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1988: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1989: RAISE FND_API.G_EXC_ERROR;
1990: END IF;
1991:
1984: );
1985:
1986: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1987: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1988: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1989: RAISE FND_API.G_EXC_ERROR;
1990: END IF;
1991:
1992: -- If schedule date has change, we need to call PO callback function
1985:
1986: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1987: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1988: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1989: RAISE FND_API.G_EXC_ERROR;
1990: END IF;
1991:
1992: -- If schedule date has change, we need to call PO callback function
1993: -- to indicate the change.
2044:
2045:
2046: EXCEPTION
2047:
2048: WHEN FND_API.G_EXC_ERROR THEN
2049:
2050: G_LINE_PART_OF_SET := FALSE;
2051: x_return_status := FND_API.G_RET_STS_ERROR;
2052:
2047:
2048: WHEN FND_API.G_EXC_ERROR THEN
2049:
2050: G_LINE_PART_OF_SET := FALSE;
2051: x_return_status := FND_API.G_RET_STS_ERROR;
2052:
2053: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2054:
2055: G_LINE_PART_OF_SET := FALSE;
2049:
2050: G_LINE_PART_OF_SET := FALSE;
2051: x_return_status := FND_API.G_RET_STS_ERROR;
2052:
2053: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2054:
2055: G_LINE_PART_OF_SET := FALSE;
2056: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2057:
2052:
2053: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2054:
2055: G_LINE_PART_OF_SET := FALSE;
2056: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2057:
2058: WHEN OTHERS THEN
2059:
2060: G_LINE_PART_OF_SET := FALSE;
2057:
2058: WHEN OTHERS THEN
2059:
2060: G_LINE_PART_OF_SET := FALSE;
2061: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2062:
2063: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2064: THEN
2065: OE_MSG_PUB.Add_Exc_Msg
2130: l_control_rec.default_attributes := TRUE;
2131: l_control_rec.validate_entity := FALSE;
2132: l_control_rec.check_security := TRUE;
2133:
2134: IF (p_write_to_db = FND_API.G_TRUE) THEN
2135: IF l_debug_level > 0 THEN
2136: oe_debug_pub.add( 'H1' , 1 ) ;
2137: END IF;
2138: l_control_rec.write_to_DB := TRUE;
2178: -- Set global set recursive flag
2179: -- The global flag to supress the sets logic to fire in
2180: -- get set id api in lines
2181: /*
2182: IF p_recursive_call = FND_API.G_TRUE THEN
2183: oe_set_util.g_set_recursive_flag := TRUE;
2184: END IF;
2185: */
2186: IF NOT oe_set_util.g_set_recursive_flag THEN
2190:
2191: -- Call OE_Order_PVT.Process_order
2192:
2193: OE_Order_PVT.Lines
2194: (p_validation_level => FND_API.G_VALID_LEVEL_NONE,
2195: p_control_rec => l_control_rec,
2196: p_x_line_tbl => p_x_new_line_tbl,
2197: p_x_old_line_tbl => l_line_tbl,
2198: x_return_status => l_return_status);
2206: oe_set_util.g_set_recursive_flag := FALSE;
2207: END IF;
2208:
2209: /*
2210: IF p_recursive_call = FND_API.G_TRUE THEN
2211: oe_set_util.g_set_recursive_flag := FALSE;
2212: END IF;
2213: */
2214: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2210: IF p_recursive_call = FND_API.G_TRUE THEN
2211: oe_set_util.g_set_recursive_flag := FALSE;
2212: END IF;
2213: */
2214: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2215: IF l_debug_level > 0 THEN
2216: oe_debug_pub.add( 'RR: UNEXP ERRORED OUT' , 1 ) ;
2217: END IF;
2218: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2214: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2215: IF l_debug_level > 0 THEN
2216: oe_debug_pub.add( 'RR: UNEXP ERRORED OUT' , 1 ) ;
2217: END IF;
2218: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2219: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2220: IF l_debug_level > 0 THEN
2221: oe_debug_pub.add( 'RR: ERRORED OUT' , 1 ) ;
2222: END IF;
2215: IF l_debug_level > 0 THEN
2216: oe_debug_pub.add( 'RR: UNEXP ERRORED OUT' , 1 ) ;
2217: END IF;
2218: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2219: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2220: IF l_debug_level > 0 THEN
2221: oe_debug_pub.add( 'RR: ERRORED OUT' , 1 ) ;
2222: END IF;
2223: RAISE FND_API.G_EXC_ERROR;
2219: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2220: IF l_debug_level > 0 THEN
2221: oe_debug_pub.add( 'RR: ERRORED OUT' , 1 ) ;
2222: END IF;
2223: RAISE FND_API.G_EXC_ERROR;
2224: END IF;
2225:
2226: /** Commenting out this Process_request_and_notify call **/
2227: /** Since it is causing scheduling to to process requests too early **/
2229: /** procedure is called. **/
2230: /*
2231: -- Do not process delayed requests if this was a recursive
2232: -- call (e.g. from oe_line_util.pre_write_process)
2233: IF p_recursive_call = FND_API.G_TRUE THEN
2234: l_process_requests := FALSE;
2235: ELSE
2236: l_process_requests := TRUE;
2237: END IF;
2246: */
2247: /*
2248: OE_ORDER_PVT.Process_order
2249: ( p_api_version_number => 1.0
2250: , p_init_msg_list => FND_API.G_FALSE
2251: , p_validation_level => FND_API.G_VALID_LEVEL_NONE
2252: , x_return_status => l_return_status
2253: , x_msg_count => l_msg_count
2254: , x_msg_data => l_msg_data
2247: /*
2248: OE_ORDER_PVT.Process_order
2249: ( p_api_version_number => 1.0
2250: , p_init_msg_list => FND_API.G_FALSE
2251: , p_validation_level => FND_API.G_VALID_LEVEL_NONE
2252: , x_return_status => l_return_status
2253: , x_msg_count => l_msg_count
2254: , x_msg_data => l_msg_data
2255: , p_x_header_rec => l_header_rec
2274: oe_debug_pub.add( 'SCH: AFTER CALLING PROCESS ORDER' , 1 ) ;
2275: oe_debug_pub.add( 'L_RETURN_STATUS IS ' || L_RETURN_STATUS , 1 ) ;
2276: END IF;
2277:
2278: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2279: IF l_debug_level > 0 THEN
2280: oe_debug_pub.add( 'RR: UNEXP ERRORED OUT' , 1 ) ;
2281: END IF;
2282: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2278: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2279: IF l_debug_level > 0 THEN
2280: oe_debug_pub.add( 'RR: UNEXP ERRORED OUT' , 1 ) ;
2281: END IF;
2282: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2283: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2284: IF l_debug_level > 0 THEN
2285: oe_debug_pub.add( 'RR: ERRORED OUT' , 1 ) ;
2286: END IF;
2279: IF l_debug_level > 0 THEN
2280: oe_debug_pub.add( 'RR: UNEXP ERRORED OUT' , 1 ) ;
2281: END IF;
2282: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2283: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2284: IF l_debug_level > 0 THEN
2285: oe_debug_pub.add( 'RR: ERRORED OUT' , 1 ) ;
2286: END IF;
2287: RAISE FND_API.G_EXC_ERROR;
2283: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2284: IF l_debug_level > 0 THEN
2285: oe_debug_pub.add( 'RR: ERRORED OUT' , 1 ) ;
2286: END IF;
2287: RAISE FND_API.G_EXC_ERROR;
2288: END IF;
2289:
2290: OE_ORDER_SCH_UTIL.OESCH_PERFORM_SCHEDULING := 'Y';
2291:
2297: EXCEPTION
2298:
2299: -- resetting the flag to fix bug 2043973.
2300:
2301: WHEN FND_API.G_EXC_ERROR THEN
2302:
2303: OE_ORDER_SCH_UTIL.OESCH_PERFORM_SCHEDULING := 'Y';
2304: x_return_status := FND_API.G_RET_STS_ERROR;
2305:
2300:
2301: WHEN FND_API.G_EXC_ERROR THEN
2302:
2303: OE_ORDER_SCH_UTIL.OESCH_PERFORM_SCHEDULING := 'Y';
2304: x_return_status := FND_API.G_RET_STS_ERROR;
2305:
2306: IF is_set_recursion = 'N' THEN
2307: oe_set_util.g_set_recursive_flag := FALSE;
2308: END IF;
2306: IF is_set_recursion = 'N' THEN
2307: oe_set_util.g_set_recursive_flag := FALSE;
2308: END IF;
2309:
2310: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2311:
2312: OE_ORDER_SCH_UTIL.OESCH_PERFORM_SCHEDULING := 'Y';
2313: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2314:
2309:
2310: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2311:
2312: OE_ORDER_SCH_UTIL.OESCH_PERFORM_SCHEDULING := 'Y';
2313: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2314:
2315: IF is_set_recursion = 'N' THEN
2316: oe_set_util.g_set_recursive_flag := FALSE;
2317: END IF;
2318:
2319: WHEN OTHERS THEN
2320:
2321: OE_ORDER_SCH_UTIL.OESCH_PERFORM_SCHEDULING := 'Y';
2322: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2323:
2324: IF is_set_recursion = 'N' THEN
2325: oe_set_util.g_set_recursive_flag := FALSE;
2326: END IF;
2396: -- due to the split action. If yes, then do not schedule it, since we
2397: -- have already scheduled the line before.
2398:
2399: IF (p_line_rec.split_from_line_id is not null) AND
2400: (p_line_rec.split_from_line_id <> FND_API.G_MISS_NUM) AND
2401: (p_line_rec.operation = OE_GLOBALS.G_OPR_CREATE)
2402: THEN
2403: IF l_debug_level > 0 THEN
2404: oe_debug_pub.add( 'THIS IS A NEW LINE CREATED THRU SPLIT' , 1 ) ;
2423:
2424: l_schedule_action_code := p_line_rec.schedule_action_code;
2425: l_schedule_status_code := p_line_rec.schedule_status_code;
2426:
2427: IF (l_schedule_action_code = FND_API.G_MISS_CHAR) THEN
2428: l_schedule_action_code := null;
2429: END IF;
2430:
2431: -- If a scheduled line is deleted, the line should be unscheduled.
2520: -- We are currently autoscheduling only standard lines not in any
2521: -- an model or option items.
2522:
2523: IF p_line_rec.top_model_line_id is not null AND
2524: p_line_rec.top_model_line_id <> FND_API.G_MISS_NUM AND
2525: p_line_rec.item_type_code <> OE_GLOBALS.G_ITEM_STANDARD THEN
2526: RETURN FALSE;
2527: ELSE
2528: RETURN TRUE;
2745: RETURN l_scheduling_level_code;
2746:
2747: EXCEPTION
2748: WHEN NO_DATA_FOUND THEN
2749: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2750:
2751: END Get_Scheduling_Level;
2752:
2753: /*---------------------------------------------------------------------
2764: Procedure Validate_Line(p_line_rec IN OE_ORDER_PUB.Line_Rec_Type,
2765: p_old_line_rec IN OE_ORDER_PUB.Line_Rec_Type,
2766: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
2767: IS
2768: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2769: l_msg_count NUMBER;
2770: l_msg_data VARCHAR2(2000);
2771: l_result Varchar2(30);
2772: l_scheduling_level_code VARCHAR2(30) := NULL;
2769: l_msg_count NUMBER;
2770: l_msg_data VARCHAR2(2000);
2771: l_result Varchar2(30);
2772: l_scheduling_level_code VARCHAR2(30) := NULL;
2773: l_out_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
2774: l_type_code VARCHAR2(30);
2775: l_org_id NUMBER;
2776: l_bill_seq_id NUMBER;
2777: l_make_buy NUMBER;
2787: -- If the quantity on the line is missing or null and if
2788: -- the user is trying to performing scheduling, it is an error
2789:
2790: IF ((p_old_line_rec.ordered_quantity is null OR
2791: p_old_line_rec.ordered_quantity = FND_API.G_MISS_NUM) AND
2792: (p_line_rec.ordered_quantity is null OR
2793: p_line_rec.ordered_quantity = FND_API.G_MISS_NUM)) THEN
2794:
2795: FND_MESSAGE.SET_NAME('ONT','OE_SCH_MISSING_QUANTITY');
2789:
2790: IF ((p_old_line_rec.ordered_quantity is null OR
2791: p_old_line_rec.ordered_quantity = FND_API.G_MISS_NUM) AND
2792: (p_line_rec.ordered_quantity is null OR
2793: p_line_rec.ordered_quantity = FND_API.G_MISS_NUM)) THEN
2794:
2795: FND_MESSAGE.SET_NAME('ONT','OE_SCH_MISSING_QUANTITY');
2796: OE_MSG_PUB.Add;
2797:
2794:
2795: FND_MESSAGE.SET_NAME('ONT','OE_SCH_MISSING_QUANTITY');
2796: OE_MSG_PUB.Add;
2797:
2798: l_return_status := FND_API.G_RET_STS_ERROR;
2799: END IF;
2800:
2801: -- If the quantity on the line is zero(which is different from
2802: -- missing) and if the user is trying to performing scheduling,
2802: -- missing) and if the user is trying to performing scheduling,
2803: -- it is an error
2804:
2805: IF (((p_old_line_rec.ordered_quantity is null OR
2806: p_old_line_rec.ordered_quantity = FND_API.G_MISS_NUM OR
2807: p_old_line_rec.ordered_quantity = 0) AND
2808: p_line_rec.ordered_quantity = 0) AND
2809: (nvl(p_line_rec.cancelled_flag,'N') = 'N')) THEN
2810:
2815:
2816: IF l_debug_level > 0 THEN
2817: oe_debug_pub.add( 'E2' , 1 ) ;
2818: END IF;
2819: l_return_status := FND_API.G_RET_STS_ERROR;
2820: END IF;
2821:
2822: END IF;
2823:
2835:
2836: IF l_debug_level > 0 THEN
2837: oe_debug_pub.add( 'E3' , 1 ) ;
2838: END IF;
2839: l_return_status := FND_API.G_RET_STS_ERROR;
2840:
2841: END IF;
2842: END IF;
2843:
2843:
2844: -- If the line is shipped, scheduling is not allowed.
2845:
2846: IF (p_line_rec.shipped_quantity is not null) AND
2847: (p_line_rec.shipped_quantity <> FND_API.G_MISS_NUM) THEN
2848:
2849: /* modified he following if condition for fixing the bug 2763764 */
2850:
2851: IF p_line_rec.schedule_action_code is not null OR
2849: /* modified he following if condition for fixing the bug 2763764 */
2850:
2851: IF p_line_rec.schedule_action_code is not null OR
2852: (p_line_rec.reserved_quantity is not null AND
2853: p_line_rec.reserved_quantity <> FND_API.G_MISS_NUM) THEN
2854:
2855:
2856: -- The line is cancelled. Cannot perform scheduling
2857: -- on it.
2861:
2862: IF l_debug_level > 0 THEN
2863: oe_debug_pub.add( 'OE_SCH_LINE_SHIPPED' , 1 ) ;
2864: END IF;
2865: l_return_status := FND_API.G_RET_STS_ERROR;
2866:
2867: END IF;
2868: END IF;
2869:
2880: END IF;
2881: FND_MESSAGE.SET_NAME('ONT','OE_INVALID_ACTION');
2882: FND_MESSAGE.SET_TOKEN('ACTION',OE_Id_To_Value.Inventory_Item(p_line_rec.inventory_item_id));
2883: OE_MSG_PUB.Add;
2884: l_return_status := FND_API.G_RET_STS_ERROR;
2885: END IF;
2886: -- Bug 2314463 End
2887:
2888: -- Reserved Quantity has changed
2894:
2895: IF l_debug_level > 0 THEN
2896: oe_debug_pub.add( 'E4' , 1 ) ;
2897: END IF;
2898: l_return_status := FND_API.G_RET_STS_ERROR;
2899: END IF;
2900:
2901: -- Reserved2 Quantity has changed -- INVCONV
2902: IF (p_line_rec.ordered_quantity2 < p_line_rec.reserved_quantity2)
2907:
2908: IF l_debug_level > 0 THEN
2909: oe_debug_pub.add( 'E4a' , 1 ) ;
2910: END IF;
2911: l_return_status := FND_API.G_RET_STS_ERROR;
2912: END IF;
2913:
2914:
2915: -- after changing reserved qty, trying to unschedule or unreserve
2919: (p_line_rec.reserved_quantity is not null) THEN
2920:
2921: FND_MESSAGE.SET_NAME('ONT','OE_SCH_RES_QTY_CHG_NOT_ALLOWED');
2922: OE_MSG_PUB.Add;
2923: l_return_status := FND_API.G_RET_STS_ERROR;
2924: IF l_debug_level > 0 THEN
2925: oe_debug_pub.add( 'E5' , 1 ) ;
2926: END IF;
2927: END IF;
2943:
2944: FND_MESSAGE.SET_NAME('ONT','OE_SCH_RES_MORE_ORD_QTY');
2945: OE_MSG_PUB.Add;
2946:
2947: l_return_status := FND_API.G_RET_STS_ERROR;
2948: IF l_debug_level > 0 THEN
2949: oe_debug_pub.add( 'E6' , 1 ) ;
2950: END IF;
2951: END IF;
2969:
2970: FND_MESSAGE.SET_NAME('ONT','OE_SCH_RES_MORE_ORD_QTY');
2971: OE_MSG_PUB.Add;
2972:
2973: l_return_status := FND_API.G_RET_STS_ERROR;
2974: IF l_debug_level > 0 THEN
2975: oe_debug_pub.add( 'E6a' , 1 ) ;
2976: END IF;
2977: END IF;
2983: -- and if the user is trying to performing scheduling,
2984: -- it is an error
2985:
2986: IF (p_line_rec.order_quantity_uom is null OR
2987: p_line_rec.order_quantity_uom = FND_API.G_MISS_CHAR) THEN
2988:
2989: FND_MESSAGE.SET_NAME('ONT','OE_SCH_MISSING_UOM');
2990: OE_MSG_PUB.Add;
2991:
2988:
2989: FND_MESSAGE.SET_NAME('ONT','OE_SCH_MISSING_UOM');
2990: OE_MSG_PUB.Add;
2991:
2992: l_return_status := FND_API.G_RET_STS_ERROR;
2993: IF l_debug_level > 0 THEN
2994: oe_debug_pub.add( 'E7' , 1 ) ;
2995: END IF;
2996: END IF;
3002: oe_debug_pub.add( 'CHECKING THE ITEM....' , 1 ) ;
3003: END IF;
3004:
3005: IF (p_line_rec.inventory_item_id is null OR
3006: p_line_rec.inventory_item_id = FND_API.G_MISS_NUM) THEN
3007:
3008: FND_MESSAGE.SET_NAME('ONT','OE_SCH_MISSING_ITEM');
3009: OE_MSG_PUB.Add;
3010:
3007:
3008: FND_MESSAGE.SET_NAME('ONT','OE_SCH_MISSING_ITEM');
3009: OE_MSG_PUB.Add;
3010:
3011: l_return_status := FND_API.G_RET_STS_ERROR;
3012: END IF;
3013:
3014: -- If the request_date on the line is missing or null and
3015: -- if the user is trying to performing scheduling,
3018: IF l_debug_level > 0 THEN
3019: oe_debug_pub.add( 'CHECKING THE REQUEST DATE....' , 1 ) ;
3020: END IF;
3021: IF (p_line_rec.request_date is null OR
3022: p_line_rec.request_date = FND_API.G_MISS_DATE) THEN
3023:
3024: FND_MESSAGE.SET_NAME('ONT','OE_SCH_MISSING_REQUEST_DATE');
3025: OE_MSG_PUB.Add;
3026: l_return_status := FND_API.G_RET_STS_ERROR;
3022: p_line_rec.request_date = FND_API.G_MISS_DATE) THEN
3023:
3024: FND_MESSAGE.SET_NAME('ONT','OE_SCH_MISSING_REQUEST_DATE');
3025: OE_MSG_PUB.Add;
3026: l_return_status := FND_API.G_RET_STS_ERROR;
3027: END IF;
3028:
3029: -- If the line belongs to a set, you cannot unschedule the line
3030: IF l_debug_level > 0 THEN
3030: IF l_debug_level > 0 THEN
3031: oe_debug_pub.add( 'CHECKING FOR SET VALIDATIONS....' , 1 ) ;
3032: END IF;
3033: IF ((p_line_rec.ship_set_id is not null AND
3034: p_line_rec.ship_set_id <> FND_API.G_MISS_NUM) AND
3035: (p_line_rec.schedule_action_code = OESCH_ACT_UNDEMAND OR
3036: p_line_rec.schedule_action_code = OESCH_ACT_UNSCHEDULE))
3037: THEN
3038:
3038:
3039: FND_MESSAGE.SET_NAME('ONT','OE_SCH_OE_ORDER_FAILED');
3040: OE_MSG_PUB.Add;
3041:
3042: l_return_status := FND_API.G_RET_STS_ERROR;
3043: END IF;
3044:
3045: IF l_debug_level > 0 THEN
3046: oe_debug_pub.add( 'CHECKING FOR HOLDS....' , 1 ) ;
3070: END IF;
3071:
3072: OE_Holds_PUB.Check_Holds
3073: ( p_api_version => 1.0
3074: , p_init_msg_list => FND_API.G_FALSE
3075: , p_commit => FND_API.G_FALSE
3076: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
3077: , x_return_status => l_out_return_status
3078: , x_msg_count => l_msg_count
3071:
3072: OE_Holds_PUB.Check_Holds
3073: ( p_api_version => 1.0
3074: , p_init_msg_list => FND_API.G_FALSE
3075: , p_commit => FND_API.G_FALSE
3076: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
3077: , x_return_status => l_out_return_status
3078: , x_msg_count => l_msg_count
3079: , x_msg_data => l_msg_data
3072: OE_Holds_PUB.Check_Holds
3073: ( p_api_version => 1.0
3074: , p_init_msg_list => FND_API.G_FALSE
3075: , p_commit => FND_API.G_FALSE
3076: , p_validation_level => FND_API.G_VALID_LEVEL_FULL
3077: , x_return_status => l_out_return_status
3078: , x_msg_count => l_msg_count
3079: , x_msg_data => l_msg_data
3080: , p_line_id => p_line_rec.line_id
3087: IF l_debug_level > 0 THEN
3088: oe_debug_pub.add( 'AFTER CALLING CHECK HOLDS: ' || L_OUT_RETURN_STATUS , 1 ) ;
3089: END IF;
3090:
3091: IF (l_out_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3092: IF l_out_return_status = FND_API.G_RET_STS_ERROR THEN
3093: RAISE FND_API.G_EXC_ERROR;
3094: ELSE
3095: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3088: oe_debug_pub.add( 'AFTER CALLING CHECK HOLDS: ' || L_OUT_RETURN_STATUS , 1 ) ;
3089: END IF;
3090:
3091: IF (l_out_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3092: IF l_out_return_status = FND_API.G_RET_STS_ERROR THEN
3093: RAISE FND_API.G_EXC_ERROR;
3094: ELSE
3095: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3096: END IF;
3089: END IF;
3090:
3091: IF (l_out_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3092: IF l_out_return_status = FND_API.G_RET_STS_ERROR THEN
3093: RAISE FND_API.G_EXC_ERROR;
3094: ELSE
3095: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3096: END IF;
3097: END IF;
3091: IF (l_out_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
3092: IF l_out_return_status = FND_API.G_RET_STS_ERROR THEN
3093: RAISE FND_API.G_EXC_ERROR;
3094: ELSE
3095: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3096: END IF;
3097: END IF;
3098:
3099: IF (l_result = FND_API.G_TRUE) THEN
3095: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3096: END IF;
3097: END IF;
3098:
3099: IF (l_result = FND_API.G_TRUE) THEN
3100: FND_MESSAGE.SET_NAME('ONT','OE_SCH_LINE_ON_HOLD');
3101: OE_MSG_PUB.Add;
3102: l_return_status := FND_API.G_RET_STS_ERROR;
3103: END IF;
3098:
3099: IF (l_result = FND_API.G_TRUE) THEN
3100: FND_MESSAGE.SET_NAME('ONT','OE_SCH_LINE_ON_HOLD');
3101: OE_MSG_PUB.Add;
3102: l_return_status := FND_API.G_RET_STS_ERROR;
3103: END IF;
3104:
3105: END IF;
3106:
3132: nvl(p_line_rec.schedule_action_code,OESCH_ACT_SCHEDULE));
3133: FND_MESSAGE.SET_TOKEN('ORDER_TYPE',
3134: nvl(sch_cached_line_type,sch_cached_order_type));
3135: OE_MSG_PUB.Add;
3136: l_return_status := FND_API.G_RET_STS_ERROR;
3137: END IF;
3138: ELSIF l_scheduling_level_code = SCH_LEVEL_TWO OR
3139: p_line_rec.reserved_quantity > 0 THEN
3140: IF p_line_rec.schedule_action_code = OESCH_ACT_RESERVE THEN
3143: nvl(p_line_rec.schedule_action_code,OESCH_ACT_RESERVE));
3144: FND_MESSAGE.SET_TOKEN('ORDER_TYPE',
3145: nvl(sch_cached_line_type,sch_cached_order_type));
3146: OE_MSG_PUB.Add;
3147: l_return_status := FND_API.G_RET_STS_ERROR;
3148: END IF;
3149: END IF;
3150: END IF;
3151:
3193: FND_MESSAGE.SET_NAME('ONT','OE_BOM_NO_BILL_IN_VAL_ORG');
3194: FND_MESSAGE.SET_TOKEN('ITEM',nvl(p_line_rec.ordered_item,p_line_rec.inventory_item_id));
3195: FND_MESSAGE.SET_TOKEN('ORG',l_org_id);
3196: OE_MSG_PUB.Add;
3197: l_return_status := FND_API.G_RET_STS_ERROR;
3198:
3199: WHEN OTHERS THEN
3200: Null;
3201: END;
3281: l_lot_control_code NUMBER;
3282: l_org_id NUMBER;
3283:
3284: -- added by fabdi 03/May/2001 -- INVCONV NO LONGER NEEDED
3285: l_process_flag VARCHAR2(1) := FND_API.G_FALSE;
3286: -- l_ic_item_mst_rec GMI_RESERVATION_UTIL.ic_item_mst_rec; OPM INVCONV 4742691
3287: -- end fabdi
3288:
3289: l_sqoh NUMBER; -- INVCONV
3307: END IF;
3308: /* -- added by fabdi 03/May/2001
3309: IF NOT INV_GMI_RSV_BRANCH.Process_Branch(p_organization_id => p_org_id)
3310: THEN
3311: l_process_flag := FND_API.G_FALSE;
3312: ELSE
3313: l_process_flag := FND_API.G_TRUE;
3314: END IF;
3315:
3309: IF NOT INV_GMI_RSV_BRANCH.Process_Branch(p_organization_id => p_org_id)
3310: THEN
3311: l_process_flag := FND_API.G_FALSE;
3312: ELSE
3313: l_process_flag := FND_API.G_TRUE;
3314: END IF;
3315:
3316: IF l_process_flag = FND_API.G_TRUE
3317: THEN
3312: ELSE
3313: l_process_flag := FND_API.G_TRUE;
3314: END IF;
3315:
3316: IF l_process_flag = FND_API.G_TRUE
3317: THEN
3318:
3319: GMI_RESERVATION_UTIL.Get_OPM_item_from_Apps
3320: ( p_organization_id => p_org_id
3323: , x_return_status => l_return_status
3324: , x_msg_count => l_msg_count
3325: , x_msg_data => l_msg_data);
3326:
3327: IF (l_return_status <> FND_API.G_RET_STS_SUCCESS)
3328: THEN
3329: FND_MESSAGE.SET_NAME('GMI','GMI_ERROR');
3330: FND_MESSAGE.SET_TOKEN('BY_PROC','GMI_Reservation_Util.Get_OPM_item_from_Apps');
3331: FND_MESSAGE.SET_TOKEN('WHERE','OE_ORDER_SCH_UTIL');
3328: THEN
3329: FND_MESSAGE.SET_NAME('GMI','GMI_ERROR');
3330: FND_MESSAGE.SET_TOKEN('BY_PROC','GMI_Reservation_Util.Get_OPM_item_from_Apps');
3331: FND_MESSAGE.SET_TOKEN('WHERE','OE_ORDER_SCH_UTIL');
3332: RAISE FND_API.G_EXC_ERROR;
3333: END IF;
3334:
3335: get_process_query_quantities ( p_org_id => p_org_id,
3336: p_item_id => l_ic_item_mst_rec.item_id,
3367: -- Bug 2259553.
3368: --inv_quantity_tree_pvt.clear_quantity_cache;
3369: inv_quantity_tree_pvt.mark_all_for_refresh
3370: ( p_api_version_number => 1.0
3371: , p_init_msg_lst => FND_API.G_TRUE
3372: , x_return_status => l_return_status
3373: , x_msg_count => l_msg_count
3374: , x_msg_data => l_msg_data
3375: );
3373: , x_msg_count => l_msg_count
3374: , x_msg_data => l_msg_data
3375: );
3376:
3377: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3378: oe_msg_pub.transfer_msg_stack;
3379: l_msg_count:=OE_MSG_PUB.COUNT_MSG;
3380: for I in 1..l_msg_count loop
3381: l_msg_data := OE_MSG_PUB.Get(I,'F');
3382: IF l_debug_level > 0 THEN
3383: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
3384: END IF;
3385: end loop;
3386: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3387: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3388: oe_msg_pub.transfer_msg_stack;
3389: l_msg_count:=OE_MSG_PUB.COUNT_MSG;
3390: for I in 1..l_msg_count loop
3383: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
3384: END IF;
3385: end loop;
3386: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3387: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3388: oe_msg_pub.transfer_msg_stack;
3389: l_msg_count:=OE_MSG_PUB.COUNT_MSG;
3390: for I in 1..l_msg_count loop
3391: l_msg_data := OE_MSG_PUB.Get(I,'F');
3392: IF l_debug_level > 0 THEN
3393: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
3394: END IF;
3395: end loop;
3396: RAISE FND_API.G_EXC_ERROR;
3397: END IF;
3398:
3399: inv_quantity_tree_pub.query_quantities
3400: ( p_api_version_number => 1.0
3434: -- END IF;
3435:
3436:
3437:
3438: /* if l_return_status != fnd_api.g_ret_sts_success then
3439: dbms_output.put_line('status: '|| l_return_status);
3440: dbms_output.put_line('error message count: '|| l_msg_count);
3441: if l_msg_count = 1 then
3442: dbms_output.put_line('error message: '|| l_msg_data);
3651:
3652: IF l_debug_level > 0 THEN
3653: oe_debug_pub.add( '1. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
3654: END IF;
3655: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3656: IF l_debug_level > 0 THEN
3657: oe_debug_pub.add( 'ERROR IS' || MRP_MSG_DATA , 1 ) ;
3658: END IF;
3659: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3655: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3656: IF l_debug_level > 0 THEN
3657: oe_debug_pub.add( 'ERROR IS' || MRP_MSG_DATA , 1 ) ;
3658: END IF;
3659: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3660: END IF;
3661:
3662: Load_Results(p_atp_table => l_out_mtp_atp_rec,
3663: p_x_line_tbl => l_line_tbl,
3670:
3671: IF l_debug_level > 0 THEN
3672: oe_debug_pub.add( 'RR: L_RETURN_STATUS ' || L_RETURN_STATUS , 1 ) ;
3673: END IF;
3674: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3675: IF l_debug_level > 0 THEN
3676: oe_debug_pub.add( 'RR: L1' , 1 ) ;
3677: END IF;
3678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3674: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3675: IF l_debug_level > 0 THEN
3676: oe_debug_pub.add( 'RR: L1' , 1 ) ;
3677: END IF;
3678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3679: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3680: IF l_debug_level > 0 THEN
3681: oe_debug_pub.add( 'RR: L2' , 1 ) ;
3682: END IF;
3675: IF l_debug_level > 0 THEN
3676: oe_debug_pub.add( 'RR: L1' , 1 ) ;
3677: END IF;
3678: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3679: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3680: IF l_debug_level > 0 THEN
3681: oe_debug_pub.add( 'RR: L2' , 1 ) ;
3682: END IF;
3683: RAISE FND_API.G_EXC_ERROR;
3679: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3680: IF l_debug_level > 0 THEN
3681: oe_debug_pub.add( 'RR: L2' , 1 ) ;
3682: END IF;
3683: RAISE FND_API.G_EXC_ERROR;
3684: END IF;
3685:
3686: -- Reloading l_line_rec from l_out_line_tbl since the record
3687: -- in the table is the one which is demanded.
3708: THEN
3709:
3710: /* Assigning reserved_quantity to 0 if MISS_NUM, to fix the bug 1384831 */
3711:
3712: IF l_old_line_rec.reserved_quantity = FND_API.G_MISS_NUM THEN
3713:
3714: l_old_line_rec.reserved_quantity := 0;
3715:
3716: END IF;
3713:
3714: l_old_line_rec.reserved_quantity := 0;
3715:
3716: END IF;
3717: IF l_old_line_rec.reserved_quantity2 = FND_API.G_MISS_NUM THEN -- INVCONV
3718:
3719: l_old_line_rec.reserved_quantity2 := 0;
3720:
3721: END IF;
3779: oe_debug_pub.add( 'L_QTY2_TO_RESERVE : ' || L_QTY2_TO_RESERVE , 3 ) ; -- INVCONV
3780: END IF;
3781: --newsub check if item is under lot/revision/serial control
3782: IF l_line_rec.subinventory is not null
3783: AND l_line_rec.subinventory <> FND_API.G_MISS_CHAR THEN
3784: BEGIN
3785: SELECT revision_qty_control_code, lot_control_code,
3786: serial_number_control_code
3787: INTO l_revision_code, l_lot_code, l_serial_code
3790: AND organization_id = l_line_rec.ship_from_org_id;
3791:
3792: EXCEPTION
3793: WHEN OTHERS THEN
3794: l_return_status := FND_API.G_RET_STS_ERROR;
3795: fnd_message.set_name('ONT', 'OE_INVALID_ITEM_WHSE');
3796: OE_MSG_PUB.Add;
3797: END;
3798:
3801: -- 2 == YES
3802: fnd_message.set_name('ONT', 'OE_SUBINV_NOT_ALLOWED');
3803: OE_MSG_PUB.Add;
3804: IF p_action = OESCH_ACT_RESERVE THEN
3805: l_return_status := FND_API.G_RET_STS_ERROR;
3806: RAISE FND_API.G_EXC_ERROR;
3807: ELSE
3808: l_return_status := FND_API.G_RET_STS_SUCCESS;
3809: l_quantity_reserved := null;
3802: fnd_message.set_name('ONT', 'OE_SUBINV_NOT_ALLOWED');
3803: OE_MSG_PUB.Add;
3804: IF p_action = OESCH_ACT_RESERVE THEN
3805: l_return_status := FND_API.G_RET_STS_ERROR;
3806: RAISE FND_API.G_EXC_ERROR;
3807: ELSE
3808: l_return_status := FND_API.G_RET_STS_SUCCESS;
3809: l_quantity_reserved := null;
3810: l_quantity2_reserved := null; -- INVCONV
3804: IF p_action = OESCH_ACT_RESERVE THEN
3805: l_return_status := FND_API.G_RET_STS_ERROR;
3806: RAISE FND_API.G_EXC_ERROR;
3807: ELSE
3808: l_return_status := FND_API.G_RET_STS_SUCCESS;
3809: l_quantity_reserved := null;
3810: l_quantity2_reserved := null; -- INVCONV
3811: GOTO NO_RESERVATION;
3812: END IF;
3824: -- Call INV with action = RESERVE
3825:
3826: inv_reservation_pub.create_reservation
3827: ( p_api_version_number => 1.0
3828: , p_init_msg_lst => FND_API.G_TRUE
3829: , x_return_status => l_return_status
3830: , x_msg_count => l_msg_count
3831: , x_msg_data => l_msg_data
3832: , p_rsv_rec => l_reservation_rec
3831: , x_msg_data => l_msg_data
3832: , p_rsv_rec => l_reservation_rec
3833: , p_serial_number => l_dummy_sn
3834: , x_serial_number => l_dummy_sn
3835: , p_partial_reservation_flag => FND_API.G_FALSE
3836: , p_force_reservation_flag => FND_API.G_FALSE
3837: , p_validation_flag => FND_API.G_TRUE
3838: , x_quantity_reserved => l_quantity_reserved
3839: , x_secondary_quantity_reserved => l_quantity2_reserved -- INVCONV
3832: , p_rsv_rec => l_reservation_rec
3833: , p_serial_number => l_dummy_sn
3834: , x_serial_number => l_dummy_sn
3835: , p_partial_reservation_flag => FND_API.G_FALSE
3836: , p_force_reservation_flag => FND_API.G_FALSE
3837: , p_validation_flag => FND_API.G_TRUE
3838: , x_quantity_reserved => l_quantity_reserved
3839: , x_secondary_quantity_reserved => l_quantity2_reserved -- INVCONV
3840: , x_reservation_id => l_rsv_id
3833: , p_serial_number => l_dummy_sn
3834: , x_serial_number => l_dummy_sn
3835: , p_partial_reservation_flag => FND_API.G_FALSE
3836: , p_force_reservation_flag => FND_API.G_FALSE
3837: , p_validation_flag => FND_API.G_TRUE
3838: , x_quantity_reserved => l_quantity_reserved
3839: , x_secondary_quantity_reserved => l_quantity2_reserved -- INVCONV
3840: , x_reservation_id => l_rsv_id
3841: );
3847:
3848: -- Bug No:2097933
3849: -- If the Reservation was succesfull we set
3850: -- the package variable to "Y".
3851: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
3852: OESCH_PERFORMED_RESERVATION := 'Y';
3853: END IF;
3854:
3855: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3851: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
3852: OESCH_PERFORMED_RESERVATION := 'Y';
3853: END IF;
3854:
3855: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3856: IF l_debug_level > 0 THEN
3857: oe_debug_pub.add( 'RAISING UNEXPECTED ERROR' , 1 ) ;
3858: END IF;
3859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3855: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3856: IF l_debug_level > 0 THEN
3857: oe_debug_pub.add( 'RAISING UNEXPECTED ERROR' , 1 ) ;
3858: END IF;
3859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3860: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3861: IF l_msg_data is not null THEN
3862: fnd_message.set_encoded(l_msg_data);
3863: l_buffer := fnd_message.get;
3856: IF l_debug_level > 0 THEN
3857: oe_debug_pub.add( 'RAISING UNEXPECTED ERROR' , 1 ) ;
3858: END IF;
3859: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3860: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3861: IF l_msg_data is not null THEN
3862: fnd_message.set_encoded(l_msg_data);
3863: l_buffer := fnd_message.get;
3864: oe_msg_pub.add_text(p_message_text => l_buffer);
3871:
3872: -- The user has explicitly required a reservation.
3873: -- We should error out since reservation failed.
3874:
3875: RAISE FND_API.G_EXC_ERROR;
3876:
3877: ELSE
3878: -- Reservation action took place since the line
3879: -- was within reservation time fence. We do not
3879: -- was within reservation time fence. We do not
3880: -- need to error out for this. The message will
3881: -- indicate that reservation did not take place.
3882:
3883: l_return_status := FND_API.G_RET_STS_SUCCESS;
3884: l_quantity_reserved := null;
3885: l_quantity2_reserved := null; -- INVCONV
3886: END IF;
3887:
3916: oe_debug_pub.add( 'EXITING ACTION SCHEDULE: ' || L_RETURN_STATUS , 1 ) ;
3917: END IF;
3918:
3919: EXCEPTION
3920: WHEN FND_API.G_EXC_ERROR THEN
3921:
3922: p_x_line_rec := l_out_line_rec;
3923: x_return_status := FND_API.G_RET_STS_ERROR;
3924:
3919: EXCEPTION
3920: WHEN FND_API.G_EXC_ERROR THEN
3921:
3922: p_x_line_rec := l_out_line_rec;
3923: x_return_status := FND_API.G_RET_STS_ERROR;
3924:
3925: WHEN OTHERS THEN
3926:
3927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3923: x_return_status := FND_API.G_RET_STS_ERROR;
3924:
3925: WHEN OTHERS THEN
3926:
3927: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3928:
3929: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3930: THEN
3931: OE_MSG_PUB.Add_Exc_Msg
3989: -- Only unreserve line if line has NOT been interfaced to WSH
3990:
3991: IF (nvl(l_line_rec.shipping_interfaced_flag, 'N') = 'N' AND
3992: l_old_line_rec.reserved_quantity is not null AND
3993: l_old_line_rec.reserved_quantity <> FND_API.G_MISS_NUM)
3994: THEN
3995:
3996: -- Call INV API to delete the reservations on the line.
3997:
4003: , p_quantity_to_unreserve => l_qty_to_unreserve
4004: , p_quantity2_to_unreserve => l_qty2_to_unreserve -- INVCONV
4005: , x_return_status => l_return_status);
4006:
4007: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4009: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4010: RAISE FND_API.G_EXC_ERROR;
4011: END IF;
4004: , p_quantity2_to_unreserve => l_qty2_to_unreserve -- INVCONV
4005: , x_return_status => l_return_status);
4006:
4007: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4009: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4010: RAISE FND_API.G_EXC_ERROR;
4011: END IF;
4012:
4005: , x_return_status => l_return_status);
4006:
4007: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4009: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4010: RAISE FND_API.G_EXC_ERROR;
4011: END IF;
4012:
4013: l_out_line_rec := l_line_rec;
4006:
4007: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4008: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4009: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4010: RAISE FND_API.G_EXC_ERROR;
4011: END IF;
4012:
4013: l_out_line_rec := l_line_rec;
4014: l_out_line_rec.schedule_status_code := OESCH_STATUS_SCHEDULED;
4056: IF l_debug_level > 0 THEN
4057: oe_debug_pub.add( '2. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
4058: END IF;
4059:
4060: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4061: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4062: END IF;
4063:
4064: Load_Results(p_atp_table => l_out_mtp_atp_rec,
4057: oe_debug_pub.add( '2. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
4058: END IF;
4059:
4060: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4061: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4062: END IF;
4063:
4064: Load_Results(p_atp_table => l_out_mtp_atp_rec,
4065: p_x_line_tbl => l_line_tbl,
4065: p_x_line_tbl => l_line_tbl,
4066: x_atp_tbl => l_out_atp_tbl,
4067: x_return_status => l_return_status);
4068:
4069: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4071: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4072: RAISE FND_API.G_EXC_ERROR;
4073: END IF;
4066: x_atp_tbl => l_out_atp_tbl,
4067: x_return_status => l_return_status);
4068:
4069: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4071: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4072: RAISE FND_API.G_EXC_ERROR;
4073: END IF;
4074:
4067: x_return_status => l_return_status);
4068:
4069: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4071: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4072: RAISE FND_API.G_EXC_ERROR;
4073: END IF;
4074:
4075: l_out_line_rec := l_line_tbl(1);
4068:
4069: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4070: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4071: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4072: RAISE FND_API.G_EXC_ERROR;
4073: END IF;
4074:
4075: l_out_line_rec := l_line_tbl(1);
4076: l_out_atp_rec := l_out_atp_tbl(1);
4106: x_out_atp_tbl OUT NOCOPY /* file.sql.39 change */ OE_ATP.atp_tbl_type,
4107: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
4108: IS
4109:
4110: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
4111: l_line_rec OE_ORDER_PUB.line_rec_type;
4112: l_line_tbl OE_ORDER_PUB.line_tbl_type;
4113: l_old_line_tbl OE_ORDER_PUB.line_tbl_type;
4114: l_out_line_rec OE_ORDER_PUB.line_rec_type;
4159: l_buffer VARCHAR2(2000);
4160: l_reservable_type NUMBER;
4161: l_re_reserve_flag VARCHAR2(1) := 'N';
4162: -- added by fabdi 03/May/2001
4163: -- l_process_flag VARCHAR2(1) := FND_API.G_FALSE; -- INVCONV
4164: -- end fabdi
4165: l_sales_order_id NUMBER;
4166: l_x_error_code NUMBER;
4167: l_lock_records VARCHAR2(1);
4191:
4192: -- There is a possiblity that the schedule_action_code comes to this
4193: -- code as missing. If it does, we will assign null value to it.
4194:
4195: IF (l_line_rec.schedule_action_code = FND_API.G_MISS_CHAR) THEN
4196: l_line_rec.schedule_action_code := null;
4197: END IF;
4198:
4199:
4235: p_old_line_rec => l_old_line_rec,
4236: p_action => OESCH_ACT_UNSCHEDULE,
4237: x_return_status => l_return_status);
4238:
4239: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4240: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4241: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4242: RAISE FND_API.G_EXC_ERROR;
4243: END IF;
4236: p_action => OESCH_ACT_UNSCHEDULE,
4237: x_return_status => l_return_status);
4238:
4239: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4240: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4241: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4242: RAISE FND_API.G_EXC_ERROR;
4243: END IF;
4244:
4237: x_return_status => l_return_status);
4238:
4239: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4240: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4241: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4242: RAISE FND_API.G_EXC_ERROR;
4243: END IF;
4244:
4245: goto end_of_processing;
4238:
4239: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4240: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4241: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4242: RAISE FND_API.G_EXC_ERROR;
4243: END IF;
4244:
4245: goto end_of_processing;
4246:
4259: -- it means the line was not scheduled and needs to get scheduled
4260: -- and not rescheduled.
4261:
4262: IF (l_old_line_rec.schedule_ship_date) is null OR
4263: (l_old_line_rec.schedule_ship_date = FND_API.G_MISS_DATE) THEN
4264:
4265: -- Set the action on the line as schedule
4266: l_line_rec.schedule_action_code := OESCH_ACT_SCHEDULE;
4267:
4270: p_old_line_rec => l_old_line_rec,
4271: p_action => OESCH_ACT_SCHEDULE,
4272: x_return_status => l_return_status);
4273:
4274: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4275: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4276: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4277: RAISE FND_API.G_EXC_ERROR;
4278: END IF;
4271: p_action => OESCH_ACT_SCHEDULE,
4272: x_return_status => l_return_status);
4273:
4274: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4275: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4276: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4277: RAISE FND_API.G_EXC_ERROR;
4278: END IF;
4279:
4272: x_return_status => l_return_status);
4273:
4274: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4275: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4276: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4277: RAISE FND_API.G_EXC_ERROR;
4278: END IF;
4279:
4280:
4273:
4274: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4275: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4276: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4277: RAISE FND_API.G_EXC_ERROR;
4278: END IF;
4279:
4280:
4281: goto end_of_processing;
4301: -- it means the line was not scheduled and needs to get scheduled
4302: -- and not rescheduled.
4303:
4304: IF (l_old_line_rec.schedule_arrival_date) is null OR
4305: (l_old_line_rec.schedule_arrival_date = FND_API.G_MISS_DATE) THEN
4306:
4307: l_out_line_rec := l_line_rec;
4308: Action_Schedule(p_x_line_rec => l_out_line_rec,
4309: p_old_line_rec => l_old_line_rec,
4309: p_old_line_rec => l_old_line_rec,
4310: p_action => OESCH_ACT_SCHEDULE,
4311: x_return_status => l_return_status);
4312:
4313: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4315: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4316: RAISE FND_API.G_EXC_ERROR;
4317: END IF;
4310: p_action => OESCH_ACT_SCHEDULE,
4311: x_return_status => l_return_status);
4312:
4313: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4315: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4316: RAISE FND_API.G_EXC_ERROR;
4317: END IF;
4318:
4311: x_return_status => l_return_status);
4312:
4313: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4315: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4316: RAISE FND_API.G_EXC_ERROR;
4317: END IF;
4318:
4319:
4312:
4313: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4314: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4315: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4316: RAISE FND_API.G_EXC_ERROR;
4317: END IF;
4318:
4319:
4320: goto end_of_processing;
4393:
4394: Action_undemand(p_old_line_rec => l_old_line_rec,
4395: x_return_status => l_return_status);
4396:
4397: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4399: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4400: RAISE FND_API.G_EXC_ERROR;
4401: END IF;
4394: Action_undemand(p_old_line_rec => l_old_line_rec,
4395: x_return_status => l_return_status);
4396:
4397: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4399: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4400: RAISE FND_API.G_EXC_ERROR;
4401: END IF;
4402: END IF;
4395: x_return_status => l_return_status);
4396:
4397: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4399: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4400: RAISE FND_API.G_EXC_ERROR;
4401: END IF;
4402: END IF;
4403:
4396:
4397: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4399: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4400: RAISE FND_API.G_EXC_ERROR;
4401: END IF;
4402: END IF;
4403:
4404: -- Call MRP with action = REDEMAND
4434: IF l_debug_level > 0 THEN
4435: oe_debug_pub.add( '3. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
4436: END IF;
4437:
4438: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4439: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4440: END IF;
4441:
4442: Load_Results(p_atp_table => l_out_mtp_atp_rec,
4435: oe_debug_pub.add( '3. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
4436: END IF;
4437:
4438: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4439: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4440: END IF;
4441:
4442: Load_Results(p_atp_table => l_out_mtp_atp_rec,
4443: p_x_line_tbl => l_line_tbl,
4443: p_x_line_tbl => l_line_tbl,
4444: x_atp_tbl => l_out_atp_tbl,
4445: x_return_status => l_return_status);
4446:
4447: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4448: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4449: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4450: RAISE FND_API.G_EXC_ERROR;
4451: END IF;
4444: x_atp_tbl => l_out_atp_tbl,
4445: x_return_status => l_return_status);
4446:
4447: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4448: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4449: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4450: RAISE FND_API.G_EXC_ERROR;
4451: END IF;
4452:
4445: x_return_status => l_return_status);
4446:
4447: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4448: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4449: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4450: RAISE FND_API.G_EXC_ERROR;
4451: END IF;
4452:
4453: l_out_line_rec := l_line_tbl(1);
4446:
4447: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4448: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4449: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4450: RAISE FND_API.G_EXC_ERROR;
4451: END IF;
4452:
4453: l_out_line_rec := l_line_tbl(1);
4454:
4460: AND l_re_reserve_flag = 'N'
4461: THEN
4462:
4463:
4464: l_query_rsv_rec.reservation_id := fnd_api.g_miss_num;
4465:
4466: l_sales_order_id
4467: := Get_mtl_sales_order_id(l_old_line_rec.header_id);
4468: l_query_rsv_rec.demand_source_header_id := l_sales_order_id;
4478: END IF;
4479:
4480: inv_reservation_pub.query_reservation
4481: ( p_api_version_number => 1.0
4482: , p_init_msg_lst => fnd_api.g_true
4483: , x_return_status => l_return_status
4484: , x_msg_count => l_msg_count
4485: , x_msg_data => l_msg_data
4486: , p_query_input => l_query_rsv_rec
4494: IF l_debug_level > 0 THEN
4495: oe_debug_pub.add( 'AFTER CALLING INVS QUERY_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
4496: END IF;
4497:
4498: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4499: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4500: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4501: RAISE FND_API.G_EXC_ERROR;
4502: END IF;
4495: oe_debug_pub.add( 'AFTER CALLING INVS QUERY_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
4496: END IF;
4497:
4498: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4499: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4500: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4501: RAISE FND_API.G_EXC_ERROR;
4502: END IF;
4503:
4496: END IF;
4497:
4498: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4499: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4500: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4501: RAISE FND_API.G_EXC_ERROR;
4502: END IF;
4503:
4504: IF l_debug_level > 0 THEN
4497:
4498: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4499: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4500: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4501: RAISE FND_API.G_EXC_ERROR;
4502: END IF;
4503:
4504: IF l_debug_level > 0 THEN
4505: oe_debug_pub.add( 'RESERVATION RECORD COUNT IS: ' || L_RSV_TBL.COUNT , 1 ) ;
4515: oe_debug_pub.add( 'RSCH: CALLING INVS UPDATE RESERVATION ' , 1 ) ;
4516: END IF;
4517: inv_reservation_pub.update_reservation
4518: ( p_api_version_number => 1.0
4519: , p_init_msg_lst => fnd_api.g_true
4520: , x_return_status => l_return_status
4521: , x_msg_count => l_msg_count
4522: , x_msg_data => l_msg_data
4523: , p_original_rsv_rec => l_rsv_tbl(k)
4523: , p_original_rsv_rec => l_rsv_tbl(k)
4524: , p_to_rsv_rec => l_reservation_rec
4525: , p_original_serial_number => l_dummy_sn -- no serial contorl
4526: , p_to_serial_number => l_dummy_sn -- no serial control
4527: , p_validation_flag => fnd_api.g_true
4528: );
4529:
4530: IF l_debug_level > 0 THEN
4531: oe_debug_pub.add( 'AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
4530: IF l_debug_level > 0 THEN
4531: oe_debug_pub.add( 'AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
4532: END IF;
4533:
4534: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4535: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4536: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4537: IF l_msg_data is not null THEN
4538: fnd_message.set_encoded(l_msg_data);
4531: oe_debug_pub.add( 'AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
4532: END IF;
4533:
4534: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4535: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4536: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4537: IF l_msg_data is not null THEN
4538: fnd_message.set_encoded(l_msg_data);
4539: l_buffer := fnd_message.get;
4532: END IF;
4533:
4534: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4535: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4536: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4537: IF l_msg_data is not null THEN
4538: fnd_message.set_encoded(l_msg_data);
4539: l_buffer := fnd_message.get;
4540: oe_msg_pub.add_text(p_message_text => l_buffer);
4541: IF l_debug_level > 0 THEN
4542: oe_debug_pub.add( 'ERROR : '|| L_BUFFER , 1 ) ;
4543: END IF;
4544: END IF;
4545: RAISE FND_API.G_EXC_ERROR;
4546: END IF;
4547: END LOOP;
4548:
4549: END IF;
4634: END IF;
4635:
4636: --newsub check if item is under lot/revision/serial control
4637: IF l_line_rec.subinventory is not null
4638: AND l_line_rec.subinventory <> FND_API.G_MISS_CHAR THEN
4639: BEGIN
4640: SELECT revision_qty_control_code, lot_control_code,
4641: serial_number_control_code
4642: INTO l_revision_code, l_lot_code, l_serial_code
4645: AND organization_id = l_line_rec.ship_from_org_id;
4646:
4647: EXCEPTION
4648: WHEN OTHERS THEN
4649: l_return_status := FND_API.G_RET_STS_ERROR;
4650: fnd_message.set_name('ONT', 'OE_INVALID_ITEM_WHSE');
4651: OE_MSG_PUB.Add;
4652: END;
4653:
4656: -- 2 == YES
4657: fnd_message.set_name('ONT', 'OE_SUBINV_NOT_ALLOWED');
4658: OE_MSG_PUB.Add;
4659: IF l_line_rec.schedule_action_code = OESCH_ACT_RESERVE THEN
4660: l_return_status := FND_API.G_RET_STS_ERROR;
4661: RAISE FND_API.G_EXC_ERROR;
4662: ELSE
4663: l_return_status := FND_API.G_RET_STS_SUCCESS;
4664: l_quantity_reserved := null;
4657: fnd_message.set_name('ONT', 'OE_SUBINV_NOT_ALLOWED');
4658: OE_MSG_PUB.Add;
4659: IF l_line_rec.schedule_action_code = OESCH_ACT_RESERVE THEN
4660: l_return_status := FND_API.G_RET_STS_ERROR;
4661: RAISE FND_API.G_EXC_ERROR;
4662: ELSE
4663: l_return_status := FND_API.G_RET_STS_SUCCESS;
4664: l_quantity_reserved := null;
4665: l_quantity2_reserved := null; -- INVCONV
4659: IF l_line_rec.schedule_action_code = OESCH_ACT_RESERVE THEN
4660: l_return_status := FND_API.G_RET_STS_ERROR;
4661: RAISE FND_API.G_EXC_ERROR;
4662: ELSE
4663: l_return_status := FND_API.G_RET_STS_SUCCESS;
4664: l_quantity_reserved := null;
4665: l_quantity2_reserved := null; -- INVCONV
4666: GOTO NO_RESERVATION;
4667: END IF;
4688:
4689: inv_reservation_pub.create_reservation
4690: (
4691: p_api_version_number => 1.0
4692: , p_init_msg_lst => FND_API.G_TRUE
4693: , x_return_status => l_return_status
4694: , x_msg_count => l_msg_count
4695: , x_msg_data => l_msg_data
4696: , p_rsv_rec => l_reservation_rec
4695: , x_msg_data => l_msg_data
4696: , p_rsv_rec => l_reservation_rec
4697: , p_serial_number => l_dummy_sn
4698: , x_serial_number => l_dummy_sn
4699: , p_partial_reservation_flag => FND_API.G_FALSE
4700: , p_force_reservation_flag => FND_API.G_FALSE
4701: , p_validation_flag => FND_API.G_TRUE
4702: , x_quantity_reserved => l_quantity_reserved
4703: , x_secondary_quantity_reserved => l_quantity2_reserved -- INVCONV
4696: , p_rsv_rec => l_reservation_rec
4697: , p_serial_number => l_dummy_sn
4698: , x_serial_number => l_dummy_sn
4699: , p_partial_reservation_flag => FND_API.G_FALSE
4700: , p_force_reservation_flag => FND_API.G_FALSE
4701: , p_validation_flag => FND_API.G_TRUE
4702: , x_quantity_reserved => l_quantity_reserved
4703: , x_secondary_quantity_reserved => l_quantity2_reserved -- INVCONV
4704: , x_reservation_id => l_rsv_id
4697: , p_serial_number => l_dummy_sn
4698: , x_serial_number => l_dummy_sn
4699: , p_partial_reservation_flag => FND_API.G_FALSE
4700: , p_force_reservation_flag => FND_API.G_FALSE
4701: , p_validation_flag => FND_API.G_TRUE
4702: , x_quantity_reserved => l_quantity_reserved
4703: , x_secondary_quantity_reserved => l_quantity2_reserved -- INVCONV
4704: , x_reservation_id => l_rsv_id
4705: );
4709: END IF;
4710: -- Bug No:2097933
4711: -- If the Reservation was succesfull we set
4712: -- the package variable to "Y".
4713: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
4714: OESCH_PERFORMED_RESERVATION := 'Y';
4715: END IF;
4716: IF l_debug_level > 0 THEN
4717: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
4716: IF l_debug_level > 0 THEN
4717: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
4718: END IF;
4719:
4720: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4721: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4722: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4723: IF l_msg_data is not null THEN
4724: fnd_message.set_encoded(l_msg_data);
4717: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
4718: END IF;
4719:
4720: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4721: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4722: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4723: IF l_msg_data is not null THEN
4724: fnd_message.set_encoded(l_msg_data);
4725: l_buffer := fnd_message.get;
4718: END IF;
4719:
4720: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4721: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4722: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4723: IF l_msg_data is not null THEN
4724: fnd_message.set_encoded(l_msg_data);
4725: l_buffer := fnd_message.get;
4726: oe_msg_pub.add_text(p_message_text => l_buffer);
4726: oe_msg_pub.add_text(p_message_text => l_buffer);
4727: END IF;
4728:
4729: IF l_line_rec.Schedule_action_code = OESCH_ACT_RESERVE THEN
4730: RAISE FND_API.G_EXC_ERROR;
4731: ELSE
4732: l_return_status := FND_API.G_RET_STS_SUCCESS;
4733: IF l_debug_level > 0 THEN
4734: oe_debug_pub.add( 'UNABLE TO RESERVE' , 2 ) ;
4728:
4729: IF l_line_rec.Schedule_action_code = OESCH_ACT_RESERVE THEN
4730: RAISE FND_API.G_EXC_ERROR;
4731: ELSE
4732: l_return_status := FND_API.G_RET_STS_SUCCESS;
4733: IF l_debug_level > 0 THEN
4734: oe_debug_pub.add( 'UNABLE TO RESERVE' , 2 ) ;
4735: END IF;
4736: END IF;
4750:
4751: -- Added this part of the code to fix bug 2536435
4752: -- Code to handle reserved quantity
4753: IF l_old_line_rec.reserved_quantity is null OR
4754: l_old_line_rec.reserved_quantity = FND_API.G_MISS_NUM THEN
4755: l_old_line_rec.reserved_quantity := 0;
4756: END IF;
4757: IF l_old_line_rec.reserved_quantity2 is null OR -- INVCONV
4758: l_old_line_rec.reserved_quantity2 = FND_API.G_MISS_NUM THEN
4754: l_old_line_rec.reserved_quantity = FND_API.G_MISS_NUM THEN
4755: l_old_line_rec.reserved_quantity := 0;
4756: END IF;
4757: IF l_old_line_rec.reserved_quantity2 is null OR -- INVCONV
4758: l_old_line_rec.reserved_quantity2 = FND_API.G_MISS_NUM THEN
4759: l_old_line_rec.reserved_quantity2 := 0;
4760: END IF;
4761:
4762:
4792: , p_quantity_to_unreserve => l_qty_to_unreserve
4793: , p_quantity2_to_unreserve => l_qty2_to_unreserve -- INVCONV
4794: , x_return_status => l_return_status);
4795:
4796: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4797: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4798: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4799: RAISE FND_API.G_EXC_ERROR;
4800: END IF;
4793: , p_quantity2_to_unreserve => l_qty2_to_unreserve -- INVCONV
4794: , x_return_status => l_return_status);
4795:
4796: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4797: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4798: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4799: RAISE FND_API.G_EXC_ERROR;
4800: END IF;
4801:
4794: , x_return_status => l_return_status);
4795:
4796: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4797: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4798: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4799: RAISE FND_API.G_EXC_ERROR;
4800: END IF;
4801:
4802: ELSE
4795:
4796: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4797: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4798: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4799: RAISE FND_API.G_EXC_ERROR;
4800: END IF;
4801:
4802: ELSE
4803:
4834: p_qty_to_reserve => l_qty_to_reserve,
4835: p_qty2_to_reserve => l_qty2_to_reserve, -- INVCONV
4836: x_return_status => l_return_status);
4837:
4838: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4839: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4840: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4841: RAISE FND_API.G_EXC_ERROR;
4842: END IF;
4835: p_qty2_to_reserve => l_qty2_to_reserve, -- INVCONV
4836: x_return_status => l_return_status);
4837:
4838: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4839: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4840: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4841: RAISE FND_API.G_EXC_ERROR;
4842: END IF;
4843:
4836: x_return_status => l_return_status);
4837:
4838: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4839: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4840: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4841: RAISE FND_API.G_EXC_ERROR;
4842: END IF;
4843:
4844: --Added this stmt to fix bug 1800048(2).
4837:
4838: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4839: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4840: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4841: RAISE FND_API.G_EXC_ERROR;
4842: END IF;
4843:
4844: --Added this stmt to fix bug 1800048(2).
4845: goto end_of_processing;
4868: , p_quantity_to_unreserve => l_qty_to_unreserve
4869: , p_quantity2_to_unreserve => l_qty2_to_unreserve -- INVCONV
4870: , x_return_status => l_return_status);
4871:
4872: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4873: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4874: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4875: RAISE FND_API.G_EXC_ERROR;
4876: END IF;
4869: , p_quantity2_to_unreserve => l_qty2_to_unreserve -- INVCONV
4870: , x_return_status => l_return_status);
4871:
4872: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4873: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4874: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4875: RAISE FND_API.G_EXC_ERROR;
4876: END IF;
4877:
4870: , x_return_status => l_return_status);
4871:
4872: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4873: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4874: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4875: RAISE FND_API.G_EXC_ERROR;
4876: END IF;
4877:
4878: END IF; /* reserved_quantity same, ordered_quantity changed*/
4871:
4872: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4873: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4874: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
4875: RAISE FND_API.G_EXC_ERROR;
4876: END IF;
4877:
4878: END IF; /* reserved_quantity same, ordered_quantity changed*/
4879:
4885:
4886: /* IF ordered_quantity and/or reserved_quantity changed. */
4887:
4888: IF l_old_line_rec.reserved_quantity is null OR
4889: l_old_line_rec.reserved_quantity = FND_API.G_MISS_NUM THEN
4890: l_old_line_rec.reserved_quantity := 0;
4891: END IF;
4892:
4893: IF l_line_rec.reserved_quantity is null OR
4890: l_old_line_rec.reserved_quantity := 0;
4891: END IF;
4892:
4893: IF l_line_rec.reserved_quantity is null OR
4894: l_line_rec.reserved_quantity = FND_API.G_MISS_NUM THEN
4895: l_line_rec.reserved_quantity := 0;
4896: END IF;
4897:
4898: l_changed_ordered_qty := l_old_line_rec.ordered_quantity -
4898: l_changed_ordered_qty := l_old_line_rec.ordered_quantity -
4899: l_line_rec.ordered_quantity;
4900:
4901: IF l_old_line_rec.reserved_quantity2 is null OR -- INVCONV
4902: l_old_line_rec.reserved_quantity2 = FND_API.G_MISS_NUM THEN
4903: l_old_line_rec.reserved_quantity2 := 0;
4904: END IF;
4905:
4906: IF l_line_rec.reserved_quantity2 is null OR
4903: l_old_line_rec.reserved_quantity2 := 0;
4904: END IF;
4905:
4906: IF l_line_rec.reserved_quantity2 is null OR
4907: l_line_rec.reserved_quantity2 = FND_API.G_MISS_NUM THEN
4908: l_line_rec.reserved_quantity2 := 0;
4909: END IF;
4910:
4911: l_changed_ordered_qty2 := l_old_line_rec.ordered_quantity2 -
4992: IF l_debug_level > 0 THEN
4993: oe_debug_pub.add( '4. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
4994: END IF;
4995:
4996: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4997: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4998: END IF;
4999:
5000: Load_Results
4993: oe_debug_pub.add( '4. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
4994: END IF;
4995:
4996: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
4997: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4998: END IF;
4999:
5000: Load_Results
5001: ( p_atp_table => l_out_mtp_atp_rec
5002: , p_x_line_tbl => l_line_tbl
5003: , x_atp_tbl => l_out_atp_tbl
5004: , x_return_status => l_return_status);
5005:
5006: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5007: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5008: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5009: RAISE FND_API.G_EXC_ERROR;
5010: END IF;
5003: , x_atp_tbl => l_out_atp_tbl
5004: , x_return_status => l_return_status);
5005:
5006: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5007: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5008: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5009: RAISE FND_API.G_EXC_ERROR;
5010: END IF;
5011:
5004: , x_return_status => l_return_status);
5005:
5006: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5007: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5008: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5009: RAISE FND_API.G_EXC_ERROR;
5010: END IF;
5011:
5012: l_out_line_rec := l_line_tbl(1);
5005:
5006: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5007: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5008: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5009: RAISE FND_API.G_EXC_ERROR;
5010: END IF;
5011:
5012: l_out_line_rec := l_line_tbl(1);
5013:
5047: , p_quantity2_to_unreserve => l_qty2_to_unreserve -- INVCONV
5048: , x_return_status => l_return_status);
5049:
5050:
5051: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5052: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5053: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5054: RAISE FND_API.G_EXC_ERROR;
5055: END IF;
5048: , x_return_status => l_return_status);
5049:
5050:
5051: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5052: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5053: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5054: RAISE FND_API.G_EXC_ERROR;
5055: END IF;
5056:
5049:
5050:
5051: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5052: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5053: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5054: RAISE FND_API.G_EXC_ERROR;
5055: END IF;
5056:
5057: ELSE
5050:
5051: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5052: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5053: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5054: RAISE FND_API.G_EXC_ERROR;
5055: END IF;
5056:
5057: ELSE
5058:
5089: p_qty_to_reserve => l_qty_to_reserve,
5090: p_qty2_to_reserve => l_qty2_to_reserve, -- INVCONV
5091: x_return_status => l_return_status);
5092:
5093: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5095: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5096: RAISE FND_API.G_EXC_ERROR;
5097: END IF;
5090: p_qty2_to_reserve => l_qty2_to_reserve, -- INVCONV
5091: x_return_status => l_return_status);
5092:
5093: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5095: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5096: RAISE FND_API.G_EXC_ERROR;
5097: END IF;
5098:
5091: x_return_status => l_return_status);
5092:
5093: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5095: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5096: RAISE FND_API.G_EXC_ERROR;
5097: END IF;
5098:
5099: --Added this stmt to fix bug 1800048(2).
5092:
5093: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5094: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5095: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5096: RAISE FND_API.G_EXC_ERROR;
5097: END IF;
5098:
5099: --Added this stmt to fix bug 1800048(2).
5100: goto end_of_processing;
5123: , p_quantity_to_unreserve => l_qty_to_unreserve
5124: , p_quantity2_to_unreserve => l_qty2_to_unreserve -- INVCONV
5125: , x_return_status => l_return_status);
5126:
5127: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5129: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5130: RAISE FND_API.G_EXC_ERROR;
5131: END IF;
5124: , p_quantity2_to_unreserve => l_qty2_to_unreserve -- INVCONV
5125: , x_return_status => l_return_status);
5126:
5127: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5129: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5130: RAISE FND_API.G_EXC_ERROR;
5131: END IF;
5132:
5125: , x_return_status => l_return_status);
5126:
5127: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5129: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5130: RAISE FND_API.G_EXC_ERROR;
5131: END IF;
5132:
5133: END IF; /* reserved_quantity same, ordered_quantity changed*/
5126:
5127: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5129: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5130: RAISE FND_API.G_EXC_ERROR;
5131: END IF;
5132:
5133: END IF; /* reserved_quantity same, ordered_quantity changed*/
5134: goto end_of_processing;
5151: -- Setting update flag to false, so that schedule_line does not
5152: -- process_order as unreserving does not cause any line attributes
5153: -- to change.
5154:
5155: g_update_flag := FND_API.G_FALSE;
5156: -- CMS is not touching the following explicit unreserve logic
5157:
5158: IF (l_old_line_rec.reserved_quantity is not null AND
5159: l_old_line_rec.reserved_quantity <> FND_API.G_MISS_NUM)
5155: g_update_flag := FND_API.G_FALSE;
5156: -- CMS is not touching the following explicit unreserve logic
5157:
5158: IF (l_old_line_rec.reserved_quantity is not null AND
5159: l_old_line_rec.reserved_quantity <> FND_API.G_MISS_NUM)
5160: THEN
5161: IF nvl(l_line_rec.shipping_interfaced_flag, 'N') = 'N' THEN
5162:
5163: l_out_line_rec := l_line_rec;
5257:
5258: IF l_debug_level > 0 THEN
5259: oe_debug_pub.add( '5. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
5260: END IF;
5261: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5262: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5263: END IF;
5264:
5265: Load_Results(p_atp_table => l_out_mtp_atp_rec,
5258: IF l_debug_level > 0 THEN
5259: oe_debug_pub.add( '5. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
5260: END IF;
5261: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5262: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5263: END IF;
5264:
5265: Load_Results(p_atp_table => l_out_mtp_atp_rec,
5266: p_x_line_tbl => l_line_tbl,
5266: p_x_line_tbl => l_line_tbl,
5267: x_atp_tbl => l_out_atp_tbl,
5268: x_return_status => l_return_status);
5269:
5270: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5271: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5272: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5273: RAISE FND_API.G_EXC_ERROR;
5274: END IF;
5267: x_atp_tbl => l_out_atp_tbl,
5268: x_return_status => l_return_status);
5269:
5270: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5271: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5272: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5273: RAISE FND_API.G_EXC_ERROR;
5274: END IF;
5275:
5268: x_return_status => l_return_status);
5269:
5270: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5271: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5272: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5273: RAISE FND_API.G_EXC_ERROR;
5274: END IF;
5275:
5276: l_out_line_rec := l_line_tbl(1);
5269:
5270: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5271: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5272: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5273: RAISE FND_API.G_EXC_ERROR;
5274: END IF;
5275:
5276: l_out_line_rec := l_line_tbl(1);
5277:
5296:
5297: /* -- added by fabdi 03/May/2001 INVCONV - NOT NEEDED NOW
5298: IF NOT INV_GMI_RSV_BRANCH.Process_Branch(p_organization_id => l_out_atp_tbl(K).ship_from_org_id)
5299: THEN
5300: l_process_flag := FND_API.G_FALSE;
5301: ELSE
5302: l_process_flag := FND_API.G_TRUE;
5303: END IF;
5304:
5298: IF NOT INV_GMI_RSV_BRANCH.Process_Branch(p_organization_id => l_out_atp_tbl(K).ship_from_org_id)
5299: THEN
5300: l_process_flag := FND_API.G_FALSE;
5301: ELSE
5302: l_process_flag := FND_API.G_TRUE;
5303: END IF;
5304:
5305: IF l_process_flag = FND_API.G_TRUE
5306: THEN
5301: ELSE
5302: l_process_flag := FND_API.G_TRUE;
5303: END IF;
5304:
5305: IF l_process_flag = FND_API.G_TRUE
5306: THEN
5307: l_out_atp_tbl(K).on_hand_qty := l_on_hand_qty;
5308: l_out_atp_tbl(K).available_to_reserve := l_avail_to_reserve;
5309: l_out_atp_tbl(K).QTY_ON_REQUEST_DATE := l_avail_to_reserve; -- Available field in ATP
5348:
5349: l_out_line_rec.ship_from_org_id :=
5350: OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID');
5351:
5352: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5354: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5355: RAISE FND_API.G_EXC_ERROR;
5356: END IF;
5349: l_out_line_rec.ship_from_org_id :=
5350: OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID');
5351:
5352: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5354: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5355: RAISE FND_API.G_EXC_ERROR;
5356: END IF;
5357: ELSE
5350: OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID');
5351:
5352: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5354: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5355: RAISE FND_API.G_EXC_ERROR;
5356: END IF;
5357: ELSE
5358: null;
5351:
5352: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5353: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5354: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5355: RAISE FND_API.G_EXC_ERROR;
5356: END IF;
5357: ELSE
5358: null;
5359: goto end_of_processing;
5371: p_old_line_rec => l_old_line_rec,
5372: p_action => OESCH_ACT_SCHEDULE,
5373: x_return_status => l_return_status);
5374:
5375: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5376: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5377: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5378: RAISE FND_API.G_EXC_ERROR;
5379: END IF;
5372: p_action => OESCH_ACT_SCHEDULE,
5373: x_return_status => l_return_status);
5374:
5375: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5376: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5377: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5378: RAISE FND_API.G_EXC_ERROR;
5379: END IF;
5380: */
5373: x_return_status => l_return_status);
5374:
5375: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5376: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5377: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5378: RAISE FND_API.G_EXC_ERROR;
5379: END IF;
5380: */
5381: ELSIF OE_GLOBALS.Equal(l_line_rec.schedule_action_code,
5374:
5375: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5376: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5377: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5378: RAISE FND_API.G_EXC_ERROR;
5379: END IF;
5380: */
5381: ELSIF OE_GLOBALS.Equal(l_line_rec.schedule_action_code,
5382: OESCH_ACT_SCHEDULE)
5407: p_old_line_rec => l_old_line_rec,
5408: p_action => OESCH_ACT_SCHEDULE,
5409: x_return_status => l_return_status);
5410:
5411: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5412: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5413: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5414: RAISE FND_API.G_EXC_ERROR;
5415: END IF;
5408: p_action => OESCH_ACT_SCHEDULE,
5409: x_return_status => l_return_status);
5410:
5411: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5412: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5413: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5414: RAISE FND_API.G_EXC_ERROR;
5415: END IF;
5416:
5409: x_return_status => l_return_status);
5410:
5411: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5412: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5413: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5414: RAISE FND_API.G_EXC_ERROR;
5415: END IF;
5416:
5417:
5410:
5411: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5412: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5413: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5414: RAISE FND_API.G_EXC_ERROR;
5415: END IF;
5416:
5417:
5418:
5437: p_old_line_rec => l_old_line_rec,
5438: p_action => OESCH_ACT_RESERVE,
5439: x_return_status => l_return_status);
5440:
5441: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5442: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5443: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5444: RAISE FND_API.G_EXC_ERROR;
5445: END IF;
5438: p_action => OESCH_ACT_RESERVE,
5439: x_return_status => l_return_status);
5440:
5441: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5442: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5443: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5444: RAISE FND_API.G_EXC_ERROR;
5445: END IF;
5446:
5439: x_return_status => l_return_status);
5440:
5441: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5442: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5443: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5444: RAISE FND_API.G_EXC_ERROR;
5445: END IF;
5446:
5447: -- autoschedule flag is Y
5440:
5441: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5442: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5443: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5444: RAISE FND_API.G_EXC_ERROR;
5445: END IF;
5446:
5447: -- autoschedule flag is Y
5448: ELSIF (OESCH_AUTO_SCH_FLAG = 'Y') AND
5499: IF l_debug_level > 0 THEN
5500: oe_debug_pub.add( 'AFTER ACTION SCHEDULE : ' || L_RETURN_STATUS , 1 ) ;
5501: END IF;
5502:
5503: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5504: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5505: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5506: -- We donot want to error out the insert if autoscheduling
5507: -- failed. So we will return success.
5500: oe_debug_pub.add( 'AFTER ACTION SCHEDULE : ' || L_RETURN_STATUS , 1 ) ;
5501: END IF;
5502:
5503: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5504: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5505: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5506: -- We donot want to error out the insert if autoscheduling
5507: -- failed. So we will return success.
5508: -- We also do not want to do any update, so we will set
5501: END IF;
5502:
5503: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5504: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5505: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5506: -- We donot want to error out the insert if autoscheduling
5507: -- failed. So we will return success.
5508: -- We also do not want to do any update, so we will set
5509: -- the g_update_flag to FALSE.
5506: -- We donot want to error out the insert if autoscheduling
5507: -- failed. So we will return success.
5508: -- We also do not want to do any update, so we will set
5509: -- the g_update_flag to FALSE.
5510: g_update_flag := FND_API.G_FALSE;
5511: l_return_status := FND_API.G_RET_STS_SUCCESS;
5512: END IF;
5513:
5514: END IF;
5507: -- failed. So we will return success.
5508: -- We also do not want to do any update, so we will set
5509: -- the g_update_flag to FALSE.
5510: g_update_flag := FND_API.G_FALSE;
5511: l_return_status := FND_API.G_RET_STS_SUCCESS;
5512: END IF;
5513:
5514: END IF;
5515:
5723: IF l_debug_level > 0 THEN
5724: oe_debug_pub.add( 'ENTERING GET_ORDER_NUMBER: ' || P_HEADER_ID , 1 ) ;
5725: END IF;
5726:
5727: IF p_header_id is not null AND p_header_id <> FND_API.G_MISS_NUM
5728: THEN
5729: BEGIN
5730: select order_number
5731: into l_order_number
5871:
5872: -- Set the non database files ship_set and arrival_set to null
5873: -- in case they are missing.
5874:
5875: IF l_line_rec.ship_set = FND_API.G_MISS_CHAR THEN
5876: l_line_rec.ship_set := null;
5877: END IF;
5878:
5879: IF l_line_rec.arrival_set = FND_API.G_MISS_CHAR THEN
5875: IF l_line_rec.ship_set = FND_API.G_MISS_CHAR THEN
5876: l_line_rec.ship_set := null;
5877: END IF;
5878:
5879: IF l_line_rec.arrival_set = FND_API.G_MISS_CHAR THEN
5880: l_line_rec.arrival_set := null;
5881: END IF;
5882:
5883: IF l_line_rec.arrival_set_id is null THEN
5898: END IF;
5899:
5900: l_atp_rec.Inventory_Item_Id(I) := l_line_rec.inventory_item_id;
5901:
5902: IF (l_line_rec.ship_from_org_id = FND_API.G_MISS_NUM) THEN
5903: l_line_rec.ship_from_org_id := null;
5904: END IF;
5905: IF (l_old_line_rec.ship_from_org_id = FND_API.G_MISS_NUM) THEN
5906: l_old_line_rec.ship_from_org_id := null;
5901:
5902: IF (l_line_rec.ship_from_org_id = FND_API.G_MISS_NUM) THEN
5903: l_line_rec.ship_from_org_id := null;
5904: END IF;
5905: IF (l_old_line_rec.ship_from_org_id = FND_API.G_MISS_NUM) THEN
5906: l_old_line_rec.ship_from_org_id := null;
5907: END IF;
5908:
5909: /*
5999: ELSE
6000: IF NOT OE_GLOBALS.Equal(l_line_rec.schedule_arrival_date,
6001: l_old_line_rec.schedule_arrival_date) AND
6002: l_line_rec.schedule_arrival_date IS NOT NULL AND
6003: l_line_rec.schedule_arrival_date <> FND_API.G_MISS_DATE
6004: THEN
6005:
6006: l_atp_rec.Requested_Arrival_Date(I) :=
6007: l_line_rec.schedule_arrival_date;
6008:
6009: ELSIF NOT OE_GLOBALS.Equal(l_line_rec.request_date,
6010: l_old_line_rec.request_date) AND
6011: l_line_rec.request_date IS NOT NULL AND
6012: l_line_rec.request_date <> FND_API.G_MISS_DATE
6013: THEN
6014:
6015: l_atp_rec.Requested_Arrival_Date(I) :=
6016: l_line_rec.request_date;
6044:
6045: IF NOT OE_GLOBALS.Equal(l_line_rec.schedule_ship_date,
6046: l_old_line_rec.schedule_ship_date) AND
6047: l_line_rec.schedule_ship_date IS NOT NULL AND
6048: l_line_rec.schedule_ship_date <> FND_API.G_MISS_DATE
6049: THEN
6050:
6051: l_atp_rec.Requested_Ship_Date(I) :=
6052: l_line_rec.schedule_ship_date;
6053:
6054: ELSIF NOT OE_GLOBALS.Equal(l_line_rec.request_date,
6055: l_old_line_rec.request_date) AND
6056: l_line_rec.request_date IS NOT NULL AND
6057: l_line_rec.request_date <> FND_API.G_MISS_DATE
6058: THEN
6059:
6060: l_atp_rec.Requested_Ship_Date(I) :=
6061: l_line_rec.request_date;
6137: END IF;
6138: l_oe_flag := 'Y';
6139:
6140: IF (l_line_rec.schedule_ship_date IS NOT NULL AND
6141: l_line_rec.schedule_ship_date <> FND_API.G_MISS_DATE ) OR
6142: (l_line_rec.schedule_arrival_date IS NOT NULL AND
6143: l_line_rec.schedule_arrival_date <> FND_API.G_MISS_DATE ) THEN
6144:
6145: IF l_debug_level > 0 THEN
6139:
6140: IF (l_line_rec.schedule_ship_date IS NOT NULL AND
6141: l_line_rec.schedule_ship_date <> FND_API.G_MISS_DATE ) OR
6142: (l_line_rec.schedule_arrival_date IS NOT NULL AND
6143: l_line_rec.schedule_arrival_date <> FND_API.G_MISS_DATE ) THEN
6144:
6145: IF l_debug_level > 0 THEN
6146: oe_debug_pub.add( 'NO CHANGES TO DATE AS IT HAS BEEN PASSED' , 3 ) ;
6147: END IF;
6464: IF l_result <> 1 THEN
6465: IF lErrorMessage is not null THEN
6466: oe_msg_pub.add_text(p_message_text => lErrorMessage);
6467: END IF;
6468: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6469: END IF;
6470: */
6471:
6472: IF l_result = 1 AND
6585: END IF;
6586: IF l_debug_level > 0 THEN
6587: oe_debug_pub.add( 'UNEXPECTED ERROR IN LOAD_RESULTS' ) ;
6588: END IF;
6589: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6590: END Load_MRP_Request;
6591:
6592: /*-----------------------------------------------------------------------------
6593: Procedure Name : Load_INV_Request
6617: IF l_debug_level > 0 THEN
6618: oe_debug_pub.add( 'ENTERING LOAD INV REQUEST' , 1 ) ;
6619: END IF;
6620:
6621: l_rsv.reservation_id := fnd_api.g_miss_num; -- cannot know
6622: l_rsv.requirement_date := p_line_rec.schedule_ship_date;
6623: l_rsv.organization_id := p_line_rec.ship_from_org_id;
6624: l_rsv.inventory_item_id := p_line_rec.inventory_item_id;
6625:
6648: IF l_debug_level > 0 THEN
6649: oe_debug_pub.add( 'L_SALES_ORDER_ID' || L_SALES_ORDER_ID , 1 ) ;
6650: END IF;
6651:
6652: IF p_line_rec.subinventory = FND_API.G_MISS_CHAR THEN
6653: l_subinventory := NULL;
6654: ELSE
6655: l_subinventory := p_line_rec.subinventory;
6656: END IF;
6718: EXCEPTION
6719:
6720: WHEN NO_DATA_FOUND
6721: THEN
6722: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6723:
6724: END Load_INV_Request;
6725: /*-----------------------------------------------------------------------------
6726: Procedure Name : Schedule_Attribute_Changed
6861: -- If the quantity to reserve is passed and null or missing, we do not
6862: -- need to go throug this procedure.
6863:
6864: IF p_quantity_to_unreserve is null OR
6865: p_quantity_to_unreserve = FND_API.G_MISS_NUM THEN
6866: goto end_of_loop;
6867: END IF;
6868:
6869: l_line_rec := p_line_rec;
6900: -- 02-jun-2000 mpetrosi end change
6901:
6902: inv_reservation_pub.query_reservation
6903: ( p_api_version_number => 1.0
6904: , p_init_msg_lst => fnd_api.g_true
6905: , x_return_status => l_return_status
6906: , x_msg_count => l_msg_count
6907: , x_msg_data => l_msg_data
6908: , p_query_input => l_rsv_rec
6939: oe_debug_pub.add( 'CALLING INVS DELETE_RESERVATION' , 3 ) ;
6940: END IF;
6941: inv_reservation_pub.delete_reservation
6942: ( p_api_version_number => 1.0
6943: , p_init_msg_lst => fnd_api.g_true
6944: , x_return_status => l_return_status
6945: , x_msg_count => l_msg_count
6946: , x_msg_data => l_msg_data
6947: , p_rsv_rec => l_rsv_rec
6951: IF l_debug_level > 0 THEN
6952: oe_debug_pub.add( 'AFTER CALLING INVS DELETE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
6953: END IF;
6954:
6955: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6957: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
6958: RAISE FND_API.G_EXC_ERROR;
6959: END IF;
6952: oe_debug_pub.add( 'AFTER CALLING INVS DELETE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
6953: END IF;
6954:
6955: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6957: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
6958: RAISE FND_API.G_EXC_ERROR;
6959: END IF;
6960:
6953: END IF;
6954:
6955: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6957: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
6958: RAISE FND_API.G_EXC_ERROR;
6959: END IF;
6960:
6961: l_qty_to_unreserve := l_qty_to_unreserve -
6954:
6955: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
6956: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6957: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
6958: RAISE FND_API.G_EXC_ERROR;
6959: END IF;
6960:
6961: l_qty_to_unreserve := l_qty_to_unreserve -
6962: l_rsv_rec.reservation_quantity;
6972:
6973: l_rsv_new_rec := l_rsv_rec;
6974: l_rsv_new_rec.reservation_quantity :=
6975: l_rsv_rec.reservation_quantity - l_qty_to_unreserve ;
6976: l_rsv_new_rec.primary_reservation_quantity := fnd_api.g_miss_num;
6977: -- l_rsv_rec.reservation_quantity - l_qty_to_unreserve ;
6978:
6979: l_rsv_new_rec.secondary_reservation_quantity := --INVCONV
6980: l_rsv_rec.secondary_reservation_quantity - l_qty2_to_unreserve ;
7009: END IF;
7010:
7011: inv_reservation_pub.update_reservation
7012: ( p_api_version_number => 1.0
7013: , p_init_msg_lst => fnd_api.g_true
7014: , x_return_status => l_return_status
7015: , x_msg_count => l_msg_count
7016: , x_msg_data => l_msg_data
7017: , p_original_rsv_rec => l_rsv_rec
7017: , p_original_rsv_rec => l_rsv_rec
7018: , p_to_rsv_rec => l_rsv_new_rec
7019: , p_original_serial_number => l_dummy_sn -- no serial contorl
7020: , p_to_serial_number => l_dummy_sn -- no serial control
7021: , p_validation_flag => fnd_api.g_true
7022: );
7023:
7024: IF l_debug_level > 0 THEN
7025: oe_debug_pub.add( 'AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
7024: IF l_debug_level > 0 THEN
7025: oe_debug_pub.add( 'AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
7026: END IF;
7027:
7028: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7029: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7030: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
7031: IF l_msg_data is not null THEN
7032: fnd_message.set_encoded(l_msg_data);
7025: oe_debug_pub.add( 'AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
7026: END IF;
7027:
7028: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7029: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7030: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
7031: IF l_msg_data is not null THEN
7032: fnd_message.set_encoded(l_msg_data);
7033: l_buffer := fnd_message.get;
7026: END IF;
7027:
7028: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
7029: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7030: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
7031: IF l_msg_data is not null THEN
7032: fnd_message.set_encoded(l_msg_data);
7033: l_buffer := fnd_message.get;
7034: oe_msg_pub.add_text(p_message_text => l_buffer);
7035: IF l_debug_level > 0 THEN
7036: oe_debug_pub.add( 'ERROR : '|| L_BUFFER , 1 ) ;
7037: END IF;
7038: END IF;
7039: RAISE FND_API.G_EXC_ERROR;
7040: END IF;
7041:
7042: l_qty_to_unreserve := 0;
7043:
7055: oe_debug_pub.add( 'EXITING UNRESERVE_LINES' , 3 ) ;
7056: END IF;
7057:
7058: EXCEPTION
7059: WHEN FND_API.G_EXC_ERROR THEN
7060:
7061: x_return_status := FND_API.G_RET_STS_ERROR;
7062:
7063: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7057:
7058: EXCEPTION
7059: WHEN FND_API.G_EXC_ERROR THEN
7060:
7061: x_return_status := FND_API.G_RET_STS_ERROR;
7062:
7063: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7064:
7065: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7059: WHEN FND_API.G_EXC_ERROR THEN
7060:
7061: x_return_status := FND_API.G_RET_STS_ERROR;
7062:
7063: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7064:
7065: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7066:
7067: WHEN OTHERS THEN
7061: x_return_status := FND_API.G_RET_STS_ERROR;
7062:
7063: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
7064:
7065: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7066:
7067: WHEN OTHERS THEN
7068:
7069: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7065: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7066:
7067: WHEN OTHERS THEN
7068:
7069: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7070:
7071: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
7072: THEN
7073: OE_MSG_PUB.Add_Exc_Msg
7132: l_group_req_rec.action := OESCH_ACT_RESCHEDULE;
7133: END IF;
7134:
7135: IF p_line_rec.ship_from_org_id is NOT NULL and
7136: p_line_rec.ship_from_org_id <> FND_API.G_MISS_NUM
7137: THEN
7138: l_group_req_rec.ship_from_org_id := p_line_rec.ship_from_org_id;
7139: END IF;
7140:
7139: END IF;
7140:
7141: -- Added this code to fix bug 1894284.
7142: IF p_old_line_rec.ship_from_org_id is NOT NULL and
7143: p_old_line_rec.ship_from_org_id <> FND_API.G_MISS_NUM
7144: THEN
7145: l_group_req_rec.old_ship_from_org_id := p_old_line_rec.ship_from_org_id;
7146: END IF;
7147:
7158:
7159: -- If the old date is missing, then set the action as SCHEDULE
7160:
7161: IF (p_old_line_rec.schedule_ship_date is null OR
7162: p_old_line_rec.schedule_ship_date = FND_API.G_MISS_DATE) THEN
7163: l_group_req_rec.action := OESCH_ACT_SCHEDULE;
7164: END IF;
7165:
7166: END IF;
7174:
7175: -- If the old date is missing, then set the action as SCHEDULE
7176:
7177: IF (p_old_line_rec.schedule_arrival_date is null OR
7178: p_old_line_rec.schedule_arrival_date = FND_API.G_MISS_DATE)
7179: THEN
7180: l_group_req_rec.action := OESCH_ACT_SCHEDULE;
7181: END IF;
7182:
7263: (p_atp_table.Quantity_Ordered(I));
7264: x_atp_table.Source_Organization_Id := MRP_ATP_PUB.number_arr(204);
7265: x_atp_table.Requested_Date_Quantity := MRP_ATP_PUB.number_arr(967900);
7266: x_atp_table.error_code := MRP_ATP_PUB.number_arr(0);
7267: x_return_status := FND_API.G_RET_STS_SUCCESS;
7268: x_msg_count := 0;
7269: null;
7270:
7271: IF l_debug_level > 0 THEN
7294: l_atp_rec OE_ATP.atp_rec_type;
7295: l_msg_count NUMBER;
7296: l_msg_data VARCHAR2(2000);
7297: l_explanation VARCHAR2(80);
7298: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
7299: l_type_code VARCHAR2(30);
7300: l_ship_set_name VARCHAR2(30);
7301: l_arrival_set_name VARCHAR2(30);
7302: l_arrival_date DATE := NULL;
7543:
7544: IF l_debug_level > 0 THEN
7545: oe_debug_pub.add( 'SETTING ERROR' , 1 ) ;
7546: END IF;
7547: l_return_status := FND_API.G_RET_STS_ERROR;
7548:
7549: ELSE
7550:
7551: IF l_debug_level > 0 THEN
7669: ---------------------- Changes for Bug-2316250 ---------------------------
7670:
7671: END IF; --Check for -99.
7672:
7673: IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
7674:
7675: IF OE_GLOBALS.Equal(l_line_rec.schedule_action_code,
7676: OESCH_ACT_DEMAND)
7677: OR OE_GLOBALS.Equal(l_line_rec.schedule_action_code,
7807: -- Setting these back to null since sets defaulting logic
7808: -- gets fired if these values are populated.
7809:
7810: IF l_line_rec.ship_set_id IS NOT NULL
7811: AND l_line_rec.ship_set_id <> FND_API.G_MISS_NUM THEN
7812: l_line_rec.ship_set := null;
7813: END IF;
7814:
7815: IF l_line_rec.arrival_set_id IS NOT NULL
7812: l_line_rec.ship_set := null;
7813: END IF;
7814:
7815: IF l_line_rec.arrival_set_id IS NOT NULL
7816: AND l_line_rec.arrival_set_id <> FND_API.G_MISS_NUM THEN
7817: l_line_rec.arrival_set := null;
7818: END IF;
7819:
7820:
7828: END IF;
7829: l_line_rec.visible_demand_flag := 'N';
7830: FND_MESSAGE.SET_NAME('ONT','OE_SCH_ATP_ERROR');
7831: OE_MSG_PUB.Add;
7832: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
7833: END IF;
7834: -- Bug 2375055 End
7835:
7836:
7994: -- Setting these back to null since sets defaulting logic
7995: -- gets fired if these values are populated.
7996:
7997: IF l_line_rec.ship_set_id IS NOT NULL
7998: AND l_line_rec.ship_set_id <> FND_API.G_MISS_NUM THEN
7999: l_line_rec.ship_set := null;
8000: END IF;
8001:
8002: IF l_line_rec.arrival_set_id IS NOT NULL
7999: l_line_rec.ship_set := null;
8000: END IF;
8001:
8002: IF l_line_rec.arrival_set_id IS NOT NULL
8003: AND l_line_rec.arrival_set_id <> FND_API.G_MISS_NUM THEN
8004: l_line_rec.arrival_set := null;
8005: END IF;
8006:
8007: IF l_line_rec.top_model_line_id = l_line_rec.line_id THEN
8024: END IF;
8025: l_line_rec.visible_demand_flag := 'N';
8026: FND_MESSAGE.SET_NAME('ONT','OE_SCH_ATP_ERROR');
8027: OE_MSG_PUB.Add;
8028: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8029: END IF;
8030: -- Bug 2375055 End
8031:
8032:
8056: -- Setting these back to null since sets defaulting logic
8057: -- gets fired if these values are populated.
8058:
8059: IF l_line_rec.ship_set_id IS NOT NULL
8060: AND l_line_rec.ship_set_id <> FND_API.G_MISS_NUM THEN
8061: l_line_rec.ship_set := null;
8062: END IF;
8063:
8064: IF l_line_rec.arrival_set_id IS NOT NULL
8061: l_line_rec.ship_set := null;
8062: END IF;
8063:
8064: IF l_line_rec.arrival_set_id IS NOT NULL
8065: AND l_line_rec.arrival_set_id <> FND_API.G_MISS_NUM THEN
8066: l_line_rec.arrival_set := null;
8067: END IF;
8068:
8069:
8122: END IF;
8123: IF l_debug_level > 0 THEN
8124: oe_debug_pub.add( 'UNEXPECTED ERROR IN LOAD_RESULTS' ) ;
8125: END IF;
8126: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8127: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8128: END Load_Results;
8129:
8130: /*--------------------------------------------------------------------------
8123: IF l_debug_level > 0 THEN
8124: oe_debug_pub.add( 'UNEXPECTED ERROR IN LOAD_RESULTS' ) ;
8125: END IF;
8126: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
8127: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8128: END Load_Results;
8129:
8130: /*--------------------------------------------------------------------------
8131: Procedure Name : Insert_Into_Mtl_Sales_Orders
8173: from fnd_languages
8174: where installed_flag = 'B');
8175: EXCEPTION
8176: WHEN NO_DATA_FOUND THEN
8177: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8178: END;
8179:
8180: IF l_debug_level > 0 THEN
8181: oe_debug_pub.add( 'CALLING INVS CREATE_SALESORDER' , 1 ) ;
8197:
8198: IF l_debug_level > 0 THEN
8199: oe_debug_pub.add( 'L_MSG_COUNT ' || L_MSG_COUNT , 1 ) ;
8200: END IF;
8201: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8202: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8203: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8204: RAISE FND_API.G_EXC_ERROR;
8205: END IF;
8198: IF l_debug_level > 0 THEN
8199: oe_debug_pub.add( 'L_MSG_COUNT ' || L_MSG_COUNT , 1 ) ;
8200: END IF;
8201: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8202: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8203: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8204: RAISE FND_API.G_EXC_ERROR;
8205: END IF;
8206:
8199: oe_debug_pub.add( 'L_MSG_COUNT ' || L_MSG_COUNT , 1 ) ;
8200: END IF;
8201: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8202: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8203: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8204: RAISE FND_API.G_EXC_ERROR;
8205: END IF;
8206:
8207: IF l_debug_level > 0 THEN
8200: END IF;
8201: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8202: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8203: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8204: RAISE FND_API.G_EXC_ERROR;
8205: END IF;
8206:
8207: IF l_debug_level > 0 THEN
8208: oe_debug_pub.add( 'EXITING INSERT_INTO_MTL_SALES_ORDERS' , 1 ) ;
8219: , 'Insert_Into_Mtl_Sales_Orders'
8220: );
8221: END IF;
8222:
8223: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8224:
8225: END Insert_Into_Mtl_Sales_Orders;
8226:
8227: /*--------------------------------------------------------------------------
8275: END Get_mtl_sales_order_id;
8276:
8277: /*
8278: PROCEDURE Set_Auto_Sch_From_Order_Type
8279: (p_value_from_user IN VARCHAR2 := FND_API.G_MISS_CHAR)
8280: IS
8281: BEGIN
8282:
8283: IF p_value_from_user <> FND_API.G_MISS_CHAR THEN
8279: (p_value_from_user IN VARCHAR2 := FND_API.G_MISS_CHAR)
8280: IS
8281: BEGIN
8282:
8283: IF p_value_from_user <> FND_API.G_MISS_CHAR THEN
8284: OESCH_AUTO_SCH_FROM_OT := p_value_from_user;
8285: END IF;
8286:
8287: IF OESCH_AUTO_SCH_FLAG = 'N' OR
8292: END Set_Auto_Sch_From_Order_Type;
8293: */
8294:
8295: PROCEDURE Set_Auto_Sch_Flag
8296: (p_value_from_user IN VARCHAR2 := FND_API.G_MISS_CHAR)
8297: IS
8298: --
8299: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
8300: --
8366: l_out_atp_tbl OE_ATP.atp_tbl_type;
8367: l_found BOOLEAN := FALSE;
8368: l_buffer VARCHAR2(2000);
8369: l_msg_count NUMBER;
8370: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
8371:
8372:
8373: --
8374: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
8459: EXCEPTION
8460:
8461: WHEN OTHERS THEN
8462:
8463: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8464:
8465: END;
8466:
8467: OE_Config_Util.Query_ATO_Options
8540: IF l_debug_level > 0 THEN
8541: oe_debug_pub.add( 'SPLIT. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
8542: END IF;
8543:
8544: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8545: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8546: END IF;
8547:
8548: Load_Results
8541: oe_debug_pub.add( 'SPLIT. AFTER CALLING MRP_ATP_PUB.CALL_ATP' || L_RETURN_STATUS , 1 ) ;
8542: END IF;
8543:
8544: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8545: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8546: END IF;
8547:
8548: Load_Results
8549: ( p_atp_table => l_out_mtp_atp_rec
8550: , p_x_line_tbl => l_line_tbl
8551: , x_atp_tbl => l_out_atp_tbl
8552: , x_return_status => l_return_status);
8553:
8554: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8557: RAISE FND_API.G_EXC_ERROR;
8558: END IF;
8551: , x_atp_tbl => l_out_atp_tbl
8552: , x_return_status => l_return_status);
8553:
8554: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8557: RAISE FND_API.G_EXC_ERROR;
8558: END IF;
8559:
8552: , x_return_status => l_return_status);
8553:
8554: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8557: RAISE FND_API.G_EXC_ERROR;
8558: END IF;
8559:
8560: END IF; -- MRP count check.
8553:
8554: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8555: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8556: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8557: RAISE FND_API.G_EXC_ERROR;
8558: END IF;
8559:
8560: END IF; -- MRP count check.
8561:
8609: Procedure SPLIT_SCHEDULING
8610: ( p_x_line_tbl IN OUT NOCOPY OE_ORDER_PUB.line_tbl_type
8611: , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
8612: IS
8613: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
8614: l_header_id NUMBER;
8615: l_p_header_id NUMBER;
8616: l_line_id NUMBER;
8617: l_demand_source_line_id NUMBER;
8766:
8767: oe_debug_pub.add('6. After Calling MRP_ATP_PUB.Call_ATP' ||
8768: l_return_status,1);
8769:
8770: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8772: END IF;
8773:
8774: Load_Results
8767: oe_debug_pub.add('6. After Calling MRP_ATP_PUB.Call_ATP' ||
8768: l_return_status,1);
8769:
8770: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8771: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8772: END IF;
8773:
8774: Load_Results
8775: ( p_atp_table => l_out_mtp_atp_rec
8776: , p_x_line_tbl => l_line_tbl
8777: , x_atp_tbl => l_out_atp_tbl
8778: , x_return_status => l_return_status);
8779:
8780: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8781: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8782: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8783: RAISE FND_API.G_EXC_ERROR;
8784: END IF;
8777: , x_atp_tbl => l_out_atp_tbl
8778: , x_return_status => l_return_status);
8779:
8780: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8781: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8782: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8783: RAISE FND_API.G_EXC_ERROR;
8784: END IF;
8785:
8778: , x_return_status => l_return_status);
8779:
8780: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8781: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8782: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8783: RAISE FND_API.G_EXC_ERROR;
8784: END IF;
8785:
8786: END IF; -- MRP count check.
8779:
8780: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8781: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8782: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8783: RAISE FND_API.G_EXC_ERROR;
8784: END IF;
8785:
8786: END IF; -- MRP count check.
8787:
8840:
8841: oe_debug_pub.add('2. After Calling MRP_ATP_PUB.Call_ATP' ||
8842: l_return_status,1);
8843:
8844: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8845: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8846: END IF;
8847:
8848: Load_Results
8841: oe_debug_pub.add('2. After Calling MRP_ATP_PUB.Call_ATP' ||
8842: l_return_status,1);
8843:
8844: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8845: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8846: END IF;
8847:
8848: Load_Results
8849: ( p_atp_table => l_out_mtp_atp_rec
8850: , p_x_line_tbl => l_line_tbl
8851: , x_atp_tbl => l_out_atp_tbl
8852: , x_return_status => l_return_status);
8853:
8854: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8855: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8856: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8857: RAISE FND_API.G_EXC_ERROR;
8858: END IF;
8851: , x_atp_tbl => l_out_atp_tbl
8852: , x_return_status => l_return_status);
8853:
8854: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8855: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8856: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8857: RAISE FND_API.G_EXC_ERROR;
8858: END IF;
8859:
8852: , x_return_status => l_return_status);
8853:
8854: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8855: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8856: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8857: RAISE FND_API.G_EXC_ERROR;
8858: END IF;
8859:
8860: END IF; -- MRP count check.
8853:
8854: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8855: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8856: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8857: RAISE FND_API.G_EXC_ERROR;
8858: END IF;
8859:
8860: END IF; -- MRP count check.
8861:
8865: p_old_line_rec => l_split_line_rec,
8866: p_action => OESCH_ACT_SCHEDULE,
8867: x_return_status => l_return_status);
8868:
8869: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8871: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8872: RAISE FND_API.G_EXC_ERROR;
8873: END IF;
8866: p_action => OESCH_ACT_SCHEDULE,
8867: x_return_status => l_return_status);
8868:
8869: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8871: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8872: RAISE FND_API.G_EXC_ERROR;
8873: END IF;
8874:
8867: x_return_status => l_return_status);
8868:
8869: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8871: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8872: RAISE FND_API.G_EXC_ERROR;
8873: END IF;
8874:
8875: l_out_line_tbl(J) := l_line_tbl(1);
8868:
8869: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8870: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8871: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8872: RAISE FND_API.G_EXC_ERROR;
8873: END IF;
8874:
8875: l_out_line_tbl(J) := l_line_tbl(1);
8876: -- reset the action to null
8883: -- G_OVERRIDE_FLAG := 'N';
8884: -- We have updated the demand picture in MRP with the split.
8885: -- Now let's update the reservation picture.
8886:
8887: l_query_rsv_rec.reservation_id := fnd_api.g_miss_num;
8888:
8889: l_sales_order_id
8890: := Get_mtl_sales_order_id(l_line_rec.header_id);
8891: l_query_rsv_rec.demand_source_header_id := l_sales_order_id;
8901: END IF;
8902:
8903: inv_reservation_pub.query_reservation
8904: ( p_api_version_number => 1.0
8905: , p_init_msg_lst => fnd_api.g_true
8906: , x_return_status => l_return_status
8907: , x_msg_count => l_msg_count
8908: , x_msg_data => l_msg_data
8909: , p_query_input => l_query_rsv_rec
8917: IF l_debug_level > 0 THEN
8918: oe_debug_pub.add( 'AFTER CALLING INVS QUERY_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
8919: END IF;
8920:
8921: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8922: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8923: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8924: RAISE FND_API.G_EXC_ERROR;
8925: END IF;
8918: oe_debug_pub.add( 'AFTER CALLING INVS QUERY_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
8919: END IF;
8920:
8921: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8922: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8923: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8924: RAISE FND_API.G_EXC_ERROR;
8925: END IF;
8926:
8919: END IF;
8920:
8921: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8922: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8923: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8924: RAISE FND_API.G_EXC_ERROR;
8925: END IF;
8926:
8927: IF l_debug_level > 0 THEN
8920:
8921: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
8922: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
8923: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
8924: RAISE FND_API.G_EXC_ERROR;
8925: END IF;
8926:
8927: IF l_debug_level > 0 THEN
8928: oe_debug_pub.add( 'RESERVATION RECORD COUNT IS: ' || L_RSV_TBL.COUNT , 1 ) ;
9042: END IF;
9043:
9044: inv_reservation_pub.update_reservation
9045: ( p_api_version_number => 1.0
9046: , p_init_msg_lst => fnd_api.g_true
9047: , x_return_status => l_return_status
9048: , x_msg_count => l_msg_count
9049: , x_msg_data => l_msg_data
9050: , p_original_rsv_rec => l_rsv_rec
9050: , p_original_rsv_rec => l_rsv_rec
9051: , p_to_rsv_rec => l_rsv_new_rec
9052: , p_original_serial_number => l_dummy_sn
9053: , p_to_serial_number => l_dummy_sn
9054: , p_validation_flag => fnd_api.g_true
9055: );
9056:
9057: IF l_debug_level > 0 THEN
9058: oe_debug_pub.add( ' 11 AFTER CALLING INVS UPD_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
9057: IF l_debug_level > 0 THEN
9058: oe_debug_pub.add( ' 11 AFTER CALLING INVS UPD_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
9059: END IF;
9060:
9061: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
9062: THEN
9063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9064: ELSIF l_return_status = FND_API.G_RET_STS_ERROR
9065: THEN
9059: END IF;
9060:
9061: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
9062: THEN
9063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9064: ELSIF l_return_status = FND_API.G_RET_STS_ERROR
9065: THEN
9066: IF l_msg_data is not null THEN
9067: fnd_message.set_encoded(l_msg_data);
9060:
9061: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
9062: THEN
9063: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9064: ELSIF l_return_status = FND_API.G_RET_STS_ERROR
9065: THEN
9066: IF l_msg_data is not null THEN
9067: fnd_message.set_encoded(l_msg_data);
9068: l_buffer := fnd_message.get;
9070: IF l_debug_level > 0 THEN
9071: oe_debug_pub.add( 'ERROR : '|| L_BUFFER , 1 ) ;
9072: END IF;
9073: END IF;
9074: RAISE FND_API.G_EXC_ERROR;
9075: END IF;
9076:
9077: l_qty_to_tfer_in_this_record := 0;
9078: END IF;
9081: oe_debug_pub.add( 'NEW QTY: ' || L_ORDERED_QUANTITY , 1 ) ;
9082: END IF;
9083: l_rsv_new_rec.reservation_quantity :=
9084: l_ordered_quantity;
9085: l_rsv_new_rec.primary_reservation_quantity := fnd_api.g_miss_num;
9086: -- l_ordered_quantity;
9087:
9088: l_rsv_new_rec.demand_source_line_id :=
9089: l_demand_source_line_id;
9107: END IF;
9108:
9109: inv_reservation_pub.update_reservation
9110: ( p_api_version_number => 1.0
9111: , p_init_msg_lst => fnd_api.g_true
9112: , x_return_status => l_return_status
9113: , x_msg_count => l_msg_count
9114: , x_msg_data => l_msg_data
9115: , p_original_rsv_rec => l_rsv_rec
9115: , p_original_rsv_rec => l_rsv_rec
9116: , p_to_rsv_rec => l_rsv_new_rec
9117: , p_original_serial_number => l_dummy_sn
9118: , p_to_serial_number => l_dummy_sn
9119: , p_validation_flag => fnd_api.g_true
9120: );
9121:
9122: IF l_debug_level > 0 THEN
9123: oe_debug_pub.add( '1 AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
9122: IF l_debug_level > 0 THEN
9123: oe_debug_pub.add( '1 AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
9124: END IF;
9125:
9126: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
9127: THEN
9128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9129: ELSIF l_return_status = FND_API.G_RET_STS_ERROR
9130: THEN
9124: END IF;
9125:
9126: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
9127: THEN
9128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9129: ELSIF l_return_status = FND_API.G_RET_STS_ERROR
9130: THEN
9131: IF l_msg_data is not null THEN
9132: fnd_message.set_encoded(l_msg_data);
9125:
9126: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
9127: THEN
9128: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9129: ELSIF l_return_status = FND_API.G_RET_STS_ERROR
9130: THEN
9131: IF l_msg_data is not null THEN
9132: fnd_message.set_encoded(l_msg_data);
9133: l_buffer := fnd_message.get;
9135: IF l_debug_level > 0 THEN
9136: oe_debug_pub.add( 'ERROR : '|| L_BUFFER , 1 ) ;
9137: END IF;
9138: END IF;
9139: RAISE FND_API.G_EXC_ERROR;
9140: END IF;
9141:
9142: l_qty_to_tfer_in_this_record :=
9143: l_qty_to_tfer_in_this_record -
9241: nvl(l_qty2_to_tfer_in_this_record, 0);
9242: END IF;
9243:
9244: l_rsv_new_rec := l_rsv_rec;
9245: l_rsv_new_rec.reservation_id := fnd_api.g_miss_num;
9246: l_rsv_new_rec.reservation_quantity :=
9247: l_qty_to_reserve;
9248: l_rsv_new_rec.secondary_reservation_quantity := -- INVCONV
9249: l_qty2_to_reserve;
9260: END IF;
9261:
9262: inv_reservation_pub.create_reservation
9263: ( p_api_version_number => 1.0
9264: , p_init_msg_lst => FND_API.G_TRUE
9265: , x_return_status => l_return_status
9266: , x_msg_count => l_msg_count
9267: , x_msg_data => l_msg_data
9268: , p_rsv_rec => l_rsv_new_rec
9267: , x_msg_data => l_msg_data
9268: , p_rsv_rec => l_rsv_new_rec
9269: , p_serial_number => l_dummy_sn
9270: , x_serial_number => l_dummy_sn
9271: , p_partial_reservation_flag => FND_API.G_FALSE
9272: , p_force_reservation_flag => FND_API.G_FALSE
9273: , p_validation_flag => FND_API.G_TRUE
9274: , x_quantity_reserved => l_qty_reserved
9275: , x_secondary_quantity_reserved => l_qty2_reserved -- INVCONV
9268: , p_rsv_rec => l_rsv_new_rec
9269: , p_serial_number => l_dummy_sn
9270: , x_serial_number => l_dummy_sn
9271: , p_partial_reservation_flag => FND_API.G_FALSE
9272: , p_force_reservation_flag => FND_API.G_FALSE
9273: , p_validation_flag => FND_API.G_TRUE
9274: , x_quantity_reserved => l_qty_reserved
9275: , x_secondary_quantity_reserved => l_qty2_reserved -- INVCONV
9276:
9269: , p_serial_number => l_dummy_sn
9270: , x_serial_number => l_dummy_sn
9271: , p_partial_reservation_flag => FND_API.G_FALSE
9272: , p_force_reservation_flag => FND_API.G_FALSE
9273: , p_validation_flag => FND_API.G_TRUE
9274: , x_quantity_reserved => l_qty_reserved
9275: , x_secondary_quantity_reserved => l_qty2_reserved -- INVCONV
9276:
9277: , x_reservation_id => l_rsv_id);
9280: oe_debug_pub.add( '5. AFTER CALLING CREATE RESERVATION' || L_RETURN_STATUS , 1 ) ;
9281: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
9282: END IF;
9283:
9284: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
9285: THEN
9286: IF l_debug_level > 0 THEN
9287: oe_debug_pub.add( 'UNEXP ERROR : '|| L_MSG_DATA , 1 ) ;
9288: END IF;
9285: THEN
9286: IF l_debug_level > 0 THEN
9287: oe_debug_pub.add( 'UNEXP ERROR : '|| L_MSG_DATA , 1 ) ;
9288: END IF;
9289: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9290: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9291: IF l_msg_data is not null THEN
9292: fnd_message.set_encoded(l_msg_data);
9293: l_buffer := fnd_message.get;
9286: IF l_debug_level > 0 THEN
9287: oe_debug_pub.add( 'UNEXP ERROR : '|| L_MSG_DATA , 1 ) ;
9288: END IF;
9289: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9290: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9291: IF l_msg_data is not null THEN
9292: fnd_message.set_encoded(l_msg_data);
9293: l_buffer := fnd_message.get;
9294: oe_msg_pub.add_text(p_message_text => l_buffer);
9297: END IF;
9298: END IF;
9299: -- Need to raise an error, if we are not able to
9300: -- transfer from parent record.
9301: RAISE FND_API.G_EXC_ERROR;
9302: END IF;
9303:
9304: IF l_qty_to_tfer_in_this_record > 0
9305: THEN
9356: END IF;
9357:
9358: EXCEPTION
9359: WHEN OTHERS THEN
9360: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9361:
9362: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9363: THEN
9364: OE_MSG_PUB.Add_Exc_Msg
9379: , p_ordered_quantity IN NUMBER
9380: , p_reserved_quantity IN NUMBER
9381: , x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2)
9382: IS
9383: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
9384: l_header_id NUMBER;
9385: l_p_header_id NUMBER;
9386: l_line_id NUMBER;
9387: l_ordered_quantity NUMBER;
9424: from oe_order_lines
9425: where line_id = p_reserved_line_id;
9426: EXCEPTION
9427: WHEN NO_DATA_FOUND THEN
9428: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9429: END;
9430:
9431: l_sales_order_id := Get_mtl_sales_order_id(l_header_id);
9432: l_rsv_rec.demand_source_header_id := l_sales_order_id;
9438: END IF;
9439:
9440: inv_reservation_pub.query_reservation
9441: ( p_api_version_number => 1.0
9442: , p_init_msg_lst => fnd_api.g_true
9443: , x_return_status => l_return_status
9444: , x_msg_count => l_msg_count
9445: , x_msg_data => l_msg_data
9446: , p_query_input => l_rsv_rec
9454: IF l_debug_level > 0 THEN
9455: oe_debug_pub.add( 'AFTER CALLING INVS QUERY_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
9456: END IF;
9457:
9458: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9459: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9460: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9461: RAISE FND_API.G_EXC_ERROR;
9462: END IF;
9455: oe_debug_pub.add( 'AFTER CALLING INVS QUERY_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
9456: END IF;
9457:
9458: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9459: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9460: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9461: RAISE FND_API.G_EXC_ERROR;
9462: END IF;
9463:
9456: END IF;
9457:
9458: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9459: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9460: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9461: RAISE FND_API.G_EXC_ERROR;
9462: END IF;
9463:
9464: IF l_debug_level > 0 THEN
9457:
9458: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9459: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9460: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9461: RAISE FND_API.G_EXC_ERROR;
9462: END IF;
9463:
9464: IF l_debug_level > 0 THEN
9465: oe_debug_pub.add( 'COUNT IS RESERVATION RECORDS IS' || L_RSV_TBL.COUNT , 1 ) ;
9494: END IF;
9495:
9496: inv_reservation_pub.update_reservation
9497: ( p_api_version_number => 1.0
9498: , p_init_msg_lst => fnd_api.g_true
9499: , x_return_status => l_return_status
9500: , x_msg_count => l_msg_count
9501: , x_msg_data => l_msg_data
9502: , p_original_rsv_rec => l_rsv_rec
9502: , p_original_rsv_rec => l_rsv_rec
9503: , p_to_rsv_rec => l_rsv_new_rec
9504: , p_original_serial_number => l_dummy_sn -- no serial contorl
9505: , p_to_serial_number => l_dummy_sn -- no serial control
9506: , p_validation_flag => fnd_api.g_true
9507: );
9508:
9509: IF l_debug_level > 0 THEN
9510: oe_debug_pub.add( 'AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
9509: IF l_debug_level > 0 THEN
9510: oe_debug_pub.add( 'AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
9511: END IF;
9512:
9513: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9515: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9516: IF l_msg_data is not null THEN
9517: fnd_message.set_encoded(l_msg_data);
9510: oe_debug_pub.add( 'AFTER CALLING INVS UPDATE_RESERVATION: ' || L_RETURN_STATUS , 1 ) ;
9511: END IF;
9512:
9513: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9515: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9516: IF l_msg_data is not null THEN
9517: fnd_message.set_encoded(l_msg_data);
9518: l_buffer := fnd_message.get;
9511: END IF;
9512:
9513: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
9514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9515: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
9516: IF l_msg_data is not null THEN
9517: fnd_message.set_encoded(l_msg_data);
9518: l_buffer := fnd_message.get;
9519: oe_msg_pub.add_text(p_message_text => l_buffer);
9520: IF l_debug_level > 0 THEN
9521: oe_debug_pub.add( 'ERROR : '|| L_BUFFER , 1 ) ;
9522: END IF;
9523: END IF;
9524: RAISE FND_API.G_EXC_ERROR;
9525: END IF;
9526: END LOOP;
9527:
9528: ELSE
9558: l_schedule_line_rec request_rec_type;
9559: l_line_rec OE_ORDER_PUB.line_rec_type;
9560: l_sch_rec sch_rec_type;
9561: I NUMBER;
9562: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
9563: l_msg_count NUMBER := 0;
9564: l_msg_data VARCHAR2(2000) := null;
9565: l_control_rec OE_GLOBALS.control_rec_type;
9566: l_line_tbl OE_ORDER_PUB.line_tbl_type;
9627: END IF;
9628: OE_DEBUG_PUB.Debug_Off;
9629: EXCEPTION
9630:
9631: WHEN FND_API.G_EXC_ERROR THEN
9632:
9633: x_return_status := FND_API.G_RET_STS_ERROR;
9634:
9635: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9629: EXCEPTION
9630:
9631: WHEN FND_API.G_EXC_ERROR THEN
9632:
9633: x_return_status := FND_API.G_RET_STS_ERROR;
9634:
9635: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9636:
9637: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9631: WHEN FND_API.G_EXC_ERROR THEN
9632:
9633: x_return_status := FND_API.G_RET_STS_ERROR;
9634:
9635: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9636:
9637: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9638:
9639: WHEN OTHERS THEN
9633: x_return_status := FND_API.G_RET_STS_ERROR;
9634:
9635: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
9636:
9637: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9638:
9639: WHEN OTHERS THEN
9640:
9641: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9637: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9638:
9639: WHEN OTHERS THEN
9640:
9641: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
9642:
9643: IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
9644: THEN
9645: OE_MSG_PUB.Add_Exc_Msg
9899: IF l_result <> 1 THEN
9900: IF lErrorMessage is not null THEN
9901: oe_msg_pub.add_text(p_message_text => lErrorMessage);
9902: END IF;
9903: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
9904: END IF;
9905: */
9906:
9907: IF l_result = 1 AND
10059:
10060: END LOOP;
10061: END IF;
10062:
10063: x_return_status := FND_API.G_RET_STS_SUCCESS;
10064:
10065: EXCEPTION
10066: WHEN OTHERS THEN
10067: ROLLBACK TO SAVEPOINT insert_mand_comp;
10064:
10065: EXCEPTION
10066: WHEN OTHERS THEN
10067: ROLLBACK TO SAVEPOINT insert_mand_comp;
10068: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
10069:
10070: END Insert_Mandatory_Components;
10071:
10072: /*--------------------------------------------------------------------------
10121:
10122: Procedure Delete_Row(p_line_id IN NUMBER)
10123: IS
10124: l_line_rec OE_ORDER_PUB.line_rec_type;
10125: l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
10126: l_sales_order_id NUMBER;
10127: --
10128: l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
10129: --
10288: IF l_debug_level > 0 THEN
10289: oe_debug_pub.add( '*** INSIDE THE POST_FORMS_COMMIT ***' , 1 ) ;
10290: END IF;
10291:
10292: x_return_status := FND_API.G_RET_STS_SUCCESS;
10293:
10294: -- Check for Performed Reservation Start
10295: IF OESCH_PERFORMED_RESERVATION = 'Y' THEN
10296:
10298: oe_debug_pub.add( ' BEFORE CALLING THE INV FOR DO_CHECK_FOR_COMMIT' , 1 ) ;
10299: END IF;
10300: INV_RESERVATION_PVT.Do_Check_For_Commit
10301: (p_api_version_number => 1.0
10302: ,p_init_msg_lst => FND_API.G_FALSE
10303: ,x_return_status => l_return_status
10304: ,x_msg_count => l_msg_count
10305: ,x_msg_data => l_msg_data
10306: ,x_failed_rsv_temp_tbl => l_failed_rsv_temp_tbl);
10318: OE_MSG_PUB.Add;
10319: END IF;
10320:
10321: -- Error Handling Start
10322: IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
10323: IF l_debug_level > 0 THEN
10324: oe_debug_pub.add( 'INSIDE UNEXPECTED ERROR' , 1 ) ;
10325: END IF;
10326: OE_MSG_PUB.Transfer_Msg_Stack;
10331: IF l_debug_level > 0 THEN
10332: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
10333: END IF;
10334: END LOOP;
10335: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10336:
10337: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
10338: IF l_debug_level > 0 THEN
10339: oe_debug_pub.add( ' INSIDE EXPECTED ERROR' , 1 ) ;
10333: END IF;
10334: END LOOP;
10335: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
10336:
10337: ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
10338: IF l_debug_level > 0 THEN
10339: oe_debug_pub.add( ' INSIDE EXPECTED ERROR' , 1 ) ;
10340: END IF;
10341: OE_MSG_PUB.Transfer_Msg_Stack;
10346: IF l_debug_level > 0 THEN
10347: oe_debug_pub.add( L_MSG_DATA , 1 ) ;
10348: END IF;
10349: END LOOP;
10350: RAISE FND_API.G_EXC_ERROR;
10351:
10352: END IF;
10353: --Error Handling End
10354:
10369: oe_debug_pub.add( '*** BEFORE EXITING POST_FORMS_COMMIT ***' , 1 ) ;
10370: END IF;
10371:
10372: EXCEPTION
10373: WHEN FND_API.G_EXC_ERROR THEN
10374: -- OESCH_PERFORMED_RESERVATION := 'N';
10375:
10376: x_return_status := FND_API.G_RET_STS_ERROR;
10377:
10372: EXCEPTION
10373: WHEN FND_API.G_EXC_ERROR THEN
10374: -- OESCH_PERFORMED_RESERVATION := 'N';
10375:
10376: x_return_status := FND_API.G_RET_STS_ERROR;
10377:
10378: -- Get message count and data
10379:
10380: oe_msg_pub.count_and_get
10380: oe_msg_pub.count_and_get
10381: ( p_count => x_msg_count
10382: , p_data => x_msg_data);
10383:
10384: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
10385: -- OESCH_PERFORMED_RESERVATION := 'N';
10386: IF OE_MSG_PUB.Check_Msg_Level
10387: (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
10388: THEN
10389: OE_MSG_PUB.Add_Exc_Msg
10390: (G_PKG_NAME , 'Post_Forms_Commit');
10391: END IF;
10392:
10393: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
10394:
10395: -- Get message count and data
10396:
10397: oe_msg_pub.count_and_get