106: END IF;
107: --
108: -- Initialize message list if p_init_msg_list is set to true
109: IF FND_API.to_Boolean(p_init_msg_list) THEN
110: FND_MSG_PUB.initialize;
111: END IF;
112: --
113: -- Initialisize API return status to access
114: x_return_status := FND_API.G_RET_STS_SUCCESS;
131: IF FND_API.to_Boolean(p_commit) THEN
132: COMMIT;
133: END IF;
134: -- Standard call to get message count and if count is 1, get message info
135: FND_MSG_PUB.Count_And_Get
136: (p_count => x_msg_count
137: , p_data => x_msg_data);
138:
139: EXCEPTION
142: ROLLBACK TO Get_Offset_Date;
143: --
144: x_return_status := FND_API.G_RET_STS_ERROR;
145: --
146: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
147: , p_data => x_msg_data);
148: --
149: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
150: --
151: ROLLBACK TO Get_Offset_Date;
152: --
153: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
154: --
155: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
156: , p_data => x_msg_data);
157: --
158: WHEN OTHERS THEN
159: --
160: ROLLBACK TO Get_Offset_Date;
161: --
162: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
163: --
164: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
165: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
166: END IF;
167: --
168: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
161: --
162: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
163: --
164: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
165: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
166: END IF;
167: --
168: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
169: , p_data => x_msg_data);
164: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
165: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
166: END IF;
167: --
168: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
169: , p_data => x_msg_data);
170: end;
171:
172:
453: END IF;
454: --
455: -- Initialize message list if p_init_msg_list is set to true
456: IF FND_API.to_Boolean(p_init_msg_list) THEN
457: FND_MSG_PUB.initialize;
458: END IF;
459: --
460: -- Initialisize API return status to access
461: x_return_status := FND_API.G_RET_STS_SUCCESS;
536: IF FND_API.to_Boolean(p_commit) THEN
537: COMMIT;
538: END IF;
539: -- Standard call to get message count and if count is 1, get message info
540: FND_MSG_PUB.Count_And_Get
541: (p_count => x_msg_count
542: , p_data => x_msg_data);
543: EXCEPTION
544: WHEN FND_API.G_EXC_ERROR THEN
546: ROLLBACK TO Validate_AdjustAccount;
547: --
548: x_return_status := FND_API.G_RET_STS_ERROR;
549: --
550: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
551: , p_data => x_msg_data);
552: --
553: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
554: --
555: ROLLBACK TO Validate_AdjustAccount;
556: --
557: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
558: --
559: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
560: , p_data => x_msg_data);
561: --
562: WHEN OTHERS THEN
563: --
564: ROLLBACK TO Validate_AdjustAccount;
565: --
566: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
567: --
568: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
569: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
570: END IF;
571: --
572: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
565: --
566: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
567: --
568: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
569: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
570: END IF;
571: --
572: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
573: , p_data => x_msg_data);
568: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
569: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
570: END IF;
571: --
572: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
573: , p_data => x_msg_data);
574: END;
575: END;
576: --
650: END IF;
651: --
652: -- Initialize message list if p_init_msg_list is set to true
653: IF FND_API.to_Boolean(p_init_msg_list) THEN
654: FND_MSG_PUB.initialize;
655: END IF;
656: --
657: -- Initialisize API return status to access
658: x_return_status := FND_API.G_RET_STS_SUCCESS;
666: -- no null DATE
667: IF p_count_date IS NULL THEN
668: x_errorcode := 59;
669: FND_MESSAGE.SET_NAME('INV', 'INV_COUNT_DATE_FUTURE');
670: FND_MSG_PUB.Add;
671: RAISE FND_API.G_EXC_ERROR;
672: END IF;
673: -- no future DATE
674: IF TRUNC(p_count_date) > TRUNC(SYSDATE) THEN
673: -- no future DATE
674: IF TRUNC(p_count_date) > TRUNC(SYSDATE) THEN
675: x_errorcode := 23;
676: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_COUNT_DATE_FUTURE');
677: FND_MSG_PUB.Add;
678: RAISE FND_API.G_EXC_ERROR;
679: END IF;
680: --
681: -- within a accounting period
695: FND_MESSAGE.SET_NAME('FND', 'PROFILES-CANNOT READ');
696: FND_MESSAGE.SET_TOKEN('OPTION', 'TRANSACTION_DATE', TRUE);
697: FND_MESSAGE.SET_TOKEN('ROUTINE',
698: 'MTL_CC_TRANSACT_PKG.CC_TRANSACT ', TRUE);
699: FND_MSG_PUB.Add;
700: RAISE FND_API.G_EXC_ERROR;
701: END IF;
702:
703: IF L_profile_value = 2 THEN
703: IF L_profile_value = 2 THEN
704: IF trunc(p_count_date) < TRUNC(sysdate) THEN
705: x_errorcode := 24;
706: FND_MESSAGE.SET_NAME('INV', 'INV_NO_PAST_TXN_DATES');
707: FND_MSG_PUB.Add;
708: RAISE FND_API.G_EXC_ERROR;
709: END IF;
710: END IF;
711:
716: L_open_past_period);
717: IF L_period_id = 0 THEN
718: x_errorcode := 24;
719: FND_MESSAGE.SET_NAME('INV', 'INV_NO_OPEN_PERIOD');
720: FND_MSG_PUB.Add;
721: RAISE FND_API.G_EXC_ERROR;
722: ELSIF L_period_id = -1 THEN
723: x_errorcode := 24;
724: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
726: IF(L_profile_value = 3) AND
727: NOT(L_open_past_period) THEN
728: x_errorcode := 24;
729: FND_MESSAGE.SET_NAME('INV', 'INV_NO_PAST_TXN_PERIODS');
730: FND_MSG_PUB.Add;
731: RAISE FND_API.G_EXC_ERROR;
732: END IF;
733: END IF;
734:
741: IF FND_API.to_Boolean(p_commit) THEN
742: COMMIT;
743: END IF;
744: -- Standard call to get message count and if count is 1, get message info
745: FND_MSG_PUB.Count_And_Get
746: (p_count => x_msg_count
747: , p_data => x_msg_data);
748: EXCEPTION
749: WHEN FND_API.G_EXC_ERROR THEN
751: ROLLBACK TO Validate_CountDate;
752: --
753: x_return_status := FND_API.G_RET_STS_ERROR;
754: --
755: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
756: , p_data => x_msg_data);
757: --
758: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
759: --
761: --
762: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
763: --
764: x_errorcode := -1;
765: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
766: , p_data => x_msg_data);
767: --
768: WHEN OTHERS THEN
769: --
771: --
772: x_errorcode := -1;
773: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
774: --
775: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
776: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
777: END IF;
778: --
779: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
772: x_errorcode := -1;
773: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
774: --
775: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
776: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
777: END IF;
778: --
779: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
780: , p_data => x_msg_data);
775: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
776: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
777: END IF;
778: --
779: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
780: , p_data => x_msg_data);
781: END;
782: END;
783: --
876: END IF;
877: --
878: -- Initialize message list if p_init_msg_list is set to true
879: IF FND_API.to_Boolean(p_init_msg_list) THEN
880: FND_MSG_PUB.initialize;
881: END IF;
882: --
883: -- Initialisize API return status to access
884: x_return_status := FND_API.G_RET_STS_SUCCESS;
917: IF(MTL_CCEOI_VAR_PVT.G_CYCLE_COUNT_HEADER_REC.DISABLE_DATE IS NOT NULL AND
918: MTL_CCEOI_VAR_PVT.G_CYCLE_COUNT_HEADER_REC.DISABLE_DATE <= sysdate)
919: THEN
920: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_INVALID_HEADER');
921: FND_MSG_PUB.Add;
922: x_errorcode :=2;
923: RAISE FND_API.G_EXC_ERROR;
924: ELSE
925: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_SUCCESS');
922: x_errorcode :=2;
923: RAISE FND_API.G_EXC_ERROR;
924: ELSE
925: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_SUCCESS');
926: FND_MSG_PUB.Add;
927: END IF;
928: ELSIF
929: (rec_counter = 0) THEN
930: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_HEADER');
927: END IF;
928: ELSIF
929: (rec_counter = 0) THEN
930: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_HEADER');
931: FND_MSG_PUB.Add;
932: x_errorcode := 1;
933: RAISE FND_API.G_EXC_ERROR;
934: ELSIF
935: (rec_counter > 1) THEN
933: RAISE FND_API.G_EXC_ERROR;
934: ELSIF
935: (rec_counter > 1) THEN
936: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_MULT_HEADER');
937: FND_MSG_PUB.Add;
938: x_errorcode := 45;
939: RAISE FND_API.G_EXC_ERROR;
940: END IF;
941: --
945: IF FND_API.to_Boolean(p_commit) THEN
946: COMMIT;
947: END IF;
948: -- Standard call to get message count and if count is 1, get message info
949: FND_MSG_PUB.Count_And_Get
950: (p_count => x_msg_count
951: , p_data => x_msg_data);
952: EXCEPTION
953: WHEN FND_API.G_EXC_ERROR THEN
955: ROLLBACK TO Validate_CountHeader;
956: --
957: x_return_status := FND_API.G_RET_STS_ERROR;
958: --
959: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
960: , p_data => x_msg_data);
961: --
962: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
963: --
965: --
966: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
967: --
968: x_errorcode := -1;
969: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
970: , p_data => x_msg_data);
971: --
972: WHEN OTHERS THEN
973: --
975: --
976: x_errorcode := -1;
977: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
978: --
979: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
980: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
981: END IF;
982: --
983: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
976: x_errorcode := -1;
977: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
978: --
979: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
980: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
981: END IF;
982: --
983: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
984: , p_data => x_msg_data);
979: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
980: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
981: END IF;
982: --
983: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
984: , p_data => x_msg_data);
985: END;
986: END;
987: --
1086: END IF;
1087: --
1088: -- Initialize message list if p_init_msg_list is set to true
1089: IF FND_API.to_Boolean(p_init_msg_list) THEN
1090: FND_MSG_PUB.initialize;
1091: END IF;
1092: --
1093: -- Initialisize API return status to access
1094: x_return_status := FND_API.G_RET_STS_SUCCESS;
1097: -- API body
1098: --
1099: IF P_Count_List_Sequence <= 0 THEN
1100: FND_MESSAGE.SET_NAME('INV', 'INV_POSITIVE_NUMBER');
1101: FND_MSG_PUB.Add;
1102: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1103: END IF;
1104: --
1105: IF (l_debug = 1) THEN
1121: rec_counter := rec_counter + 1;
1122: IF(rec_counter > 1 or c_rec.entry_status_code = 2) THEN
1123: -- error Cycle COUNT must be unique
1124: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_MULT_MATCH_REQ');
1125: FND_MSG_PUB.Add;
1126: x_errorcode := 3;
1127: RAISE FND_API.G_EXC_ERROR;
1128: END IF;
1129: END LOOP;
1142: x_errorcode := 66;
1143: END IF;
1144: ELSE
1145: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_UNMATCH_LISTSEQ');
1146: FND_MSG_PUB.Add;
1147: x_errorcode := 46;
1148: RAISE FND_API.G_EXC_ERROR;
1149: END IF;
1150: ELSIF -- XXX why do we post success message?
1149: END IF;
1150: ELSIF -- XXX why do we post success message?
1151: (rec_counter = 1) THEN
1152: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_SUCCESS');
1153: FND_MSG_PUB.Add;
1154: x_errorcode := 0;
1155: END IF;
1156: --
1157: --
1160: IF FND_API.to_Boolean(p_commit) THEN
1161: COMMIT;
1162: END IF;
1163: -- Standard call to get message count and if count is 1, get message info
1164: FND_MSG_PUB.Count_And_Get
1165: (p_count => x_msg_count
1166: , p_data => x_msg_data);
1167: EXCEPTION
1168: WHEN FND_API.G_EXC_ERROR THEN
1170: ROLLBACK TO Validate_CountListSequence;
1171: --
1172: x_return_status := FND_API.G_RET_STS_ERROR;
1173: --
1174: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1175: , p_data => x_msg_data);
1176: --
1177: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1178: --
1180: --
1181: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1182: --
1183: x_errorcode := -1;
1184: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1185: , p_data => x_msg_data);
1186: --
1187: WHEN OTHERS THEN
1188: --
1190: --
1191: x_errorcode := -1;
1192: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1193: --
1194: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1195: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1196: END IF;
1197: --
1198: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1191: x_errorcode := -1;
1192: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1193: --
1194: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1195: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1196: END IF;
1197: --
1198: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1199: , p_data => x_msg_data);
1194: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1195: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1196: END IF;
1197: --
1198: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1199: , p_data => x_msg_data);
1200: END;
1201: END;
1202: --
1273: END IF;
1274: --
1275: -- Initialize message list if p_init_msg_list is set to true
1276: IF FND_API.to_Boolean(p_init_msg_list) THEN
1277: FND_MSG_PUB.initialize;
1278: END IF;
1279: --
1280: -- Initialisize API return status to access
1281: x_return_status := FND_API.G_RET_STS_SUCCESS;
1295: MDEBUG( 'Validating CQty > 1 or NULL');
1296: END IF;
1297: x_errorcode := 60;
1298: FND_MESSAGE.SET_NAME('INV', 'INV_SERIAL_QTY_MUST_BE_1');
1299: FND_MSG_PUB.Add;
1300: RAISE FND_API.G_EXC_ERROR;
1301: END IF;
1302: ELSE
1303: IF p_count_quantity IS NULL THEN
1305: MDEBUG( 'Validating CQty is NULL');
1306: END IF;
1307: x_errorcode := 61;
1308: FND_MESSAGE.SET_NAME('INV', 'INV_GREATER_EQUAL_ZERO');
1309: FND_MSG_PUB.Add;
1310: RAISE FND_API.G_EXC_ERROR;
1311: END IF;
1312: END IF;
1313: --
1316: MDEBUG( 'Validating CQty < 0');
1317: END IF;
1318: x_errorcode := 22;
1319: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NEG_QTY');
1320: FND_MSG_PUB.Add;
1321: RAISE FND_API.G_EXC_ERROR;
1322: ELSE
1323: MTL_CCEOI_VAR_PVT.G_COUNT_QUANTITY := p_count_quantity;
1324: END IF;
1328: IF FND_API.to_Boolean(p_commit) THEN
1329: COMMIT;
1330: END IF;
1331: -- Standard call to get message count and if count is 1, get message info
1332: FND_MSG_PUB.Count_And_Get
1333: (p_count => x_msg_count
1334: , p_data => x_msg_data);
1335: EXCEPTION
1336: WHEN FND_API.G_EXC_ERROR THEN
1341: IF (l_debug = 1) THEN
1342: MDEBUG( 'Error CntQty-Stat= '||x_return_status);
1343: END IF;
1344: --
1345: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1346: , p_data => x_msg_data);
1347: --
1348: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1349: --
1351: --
1352: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1353: --
1354: x_errorcode := -1;
1355: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1356: , p_data => x_msg_data);
1357: --
1358: WHEN OTHERS THEN
1359: --
1361: --
1362: x_errorcode := -1;
1363: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1364: --
1365: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1366: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1367: END IF;
1368: --
1369: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1362: x_errorcode := -1;
1363: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1364: --
1365: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1366: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1367: END IF;
1368: --
1369: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1370: , p_data => x_msg_data);
1365: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1366: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1367: END IF;
1368: --
1369: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1370: , p_data => x_msg_data);
1371: END;
1372: END;
1373: --
1489: END IF;
1490: --
1491: -- Initialize message list if p_init_msg_list is set to true
1492: IF FND_API.to_Boolean(p_init_msg_list) THEN
1493: FND_MSG_PUB.initialize;
1494: END IF;
1495: --
1496: -- Initialisize API return status to access
1497: x_return_status := FND_API.G_RET_STS_SUCCESS;
1583: MDEBUG( 'Validating Locator_control but no locator');
1584: END IF;
1585: x_errorcode := 9;
1586: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_LOC');
1587: FND_MSG_PUB.Add;
1588: RAISE FND_API.G_EXC_ERROR;
1589: --
1590: END IF;
1591: END IF;
1607: mdebug('serial_control but no serial number');
1608: END IF;
1609: x_errorcode := 15;
1610: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_SERIAL');
1611: FND_MSG_PUB.Add;
1612: RAISE FND_API.G_EXC_ERROR;
1613:
1614: ELSIF MTL_CCEOI_VAR_PVT.G_SKU_REC.SERIAL_NUMBER_CONTROL_CODE = 0 THEN
1615: --XXX it should not ever be 0
1627: MDEBUG( 'Validating revision_control but no revision');
1628: END IF;
1629: x_errorcode := 11;
1630: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_REV');
1631: FND_MSG_PUB.Add;
1632: RAISE FND_API.G_EXC_ERROR;
1633: --
1634: ELSIF MTL_CCEOI_VAR_PVT.G_SKU_REC.REVISION_QTY_CONTROL_CODE = 1 THEN
1635: MTL_CCEOI_VAR_PVT.G_SKU_REC.REVISION := NULL;
1646: MDEBUG( 'Validating lot_control but no lot');
1647: END IF;
1648: x_errorcode := 13;
1649: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_LOT');
1650: FND_MSG_PUB.Add;
1651: RAISE FND_API.G_EXC_ERROR;
1652: --
1653: ELSIF MTL_CCEOI_VAR_PVT.G_SKU_REC.LOT_CONTROL_CODE= 1 THEN
1654: MTL_CCEOI_VAR_PVT.G_SKU_REC.LOT_NUMBER := NULL;
1659: IF FND_API.to_Boolean(p_commit) THEN
1660: COMMIT;
1661: END IF;
1662: -- Standard call to get message count and if count is 1, get message info
1663: FND_MSG_PUB.Count_And_Get
1664: (p_count => x_msg_count
1665: , p_data => x_msg_data);
1666: EXCEPTION
1667: WHEN FND_API.G_EXC_ERROR THEN
1669: ROLLBACK TO Validate_Ctrol;
1670: --
1671: x_return_status := FND_API.G_RET_STS_ERROR;
1672: --
1673: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1674: , p_data => x_msg_data);
1675: --
1676: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1677: --
1679: --
1680: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1681: --
1682: x_errorcode := -1;
1683: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1684: , p_data => x_msg_data);
1685: --
1686: WHEN OTHERS THEN
1687: --
1689: --
1690: x_errorcode := -1;
1691: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1692: --
1693: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1694: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1695: END IF;
1696: --
1697: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1690: x_errorcode := -1;
1691: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1692: --
1693: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1694: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1695: END IF;
1696: --
1697: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1698: , p_data => x_msg_data);
1693: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1694: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1695: END IF;
1696: --
1697: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1698: , p_data => x_msg_data);
1699: END;
1700: END;
1701: --
1803: END IF;
1804: --
1805: -- Initialize message list if p_init_msg_list is set to true
1806: IF FND_API.to_Boolean(p_init_msg_list) THEN
1807: FND_MSG_PUB.initialize;
1808: END IF;
1809: --
1810: -- Initialisize API return status to access
1811: x_return_status := FND_API.G_RET_STS_SUCCESS;
1819: IF p_count_uom IS NULL AND p_count_unit_of_measure IS NULL THEN
1820: --
1821: x_errorcode := 19;
1822: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_UOM');
1823: FND_MSG_PUB.Add;
1824: RAISE FND_API.G_EXC_ERROR;
1825: --
1826: ELSIF
1827: p_count_uom IS NOT NULL AND p_count_unit_of_measure IS NULL THEN
1847: --
1848: IF L_counter < 1 THEN
1849: x_errorcode := 20;
1850: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_INVALID_UOM');
1851: FND_MSG_PUB.Add;
1852: RAISE FND_API.G_EXC_ERROR;
1853: END IF;
1854: --
1855: -- END of API body
1857: IF FND_API.to_Boolean(p_commit) THEN
1858: COMMIT;
1859: END IF;
1860: -- Standard call to get message count and if count is 1, get message info
1861: FND_MSG_PUB.Count_And_Get
1862: (p_count => x_msg_count
1863: , p_data => x_msg_data);
1864: EXCEPTION
1865: WHEN FND_API.G_EXC_ERROR THEN
1867: ROLLBACK TO Validate_CountUOM;
1868: --
1869: x_return_status := FND_API.G_RET_STS_ERROR;
1870: --
1871: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1872: , p_data => x_msg_data);
1873: --
1874: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1875: --
1877: --
1878: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1879: --
1880: x_errorcode := -1;
1881: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1882: , p_data => x_msg_data);
1883: --
1884: WHEN OTHERS THEN
1885: --
1887: --
1888: x_errorcode := -1;
1889: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1890: --
1891: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1892: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1893: END IF;
1894: --
1895: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1888: x_errorcode := -1;
1889: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1890: --
1891: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1892: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1893: END IF;
1894: --
1895: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1896: , p_data => x_msg_data);
1891: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1892: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
1893: END IF;
1894: --
1895: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
1896: , p_data => x_msg_data);
1897: END;
1898: END;
1899: --
1997: END IF;
1998: --
1999: -- Initialize message list if p_init_msg_list is set to true
2000: IF FND_API.to_Boolean(p_init_msg_list) THEN
2001: FND_MSG_PUB.initialize;
2002: END IF;
2003: --
2004: -- Initialisize API return status to access
2005: x_return_status := FND_API.G_RET_STS_SUCCESS;
2072: END IF;
2073: IF L_counter = 0 THEN
2074: x_errorcode := 4;
2075: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_ITEM');
2076: FND_MSG_PUB.Add;
2077: RAISE FND_API.G_EXC_ERROR;
2078: ELSIF
2079: l_counter = 1 THEN
2080: L_counter := 0;
2093: --
2094: IF L_counter = 0 THEN
2095: x_errorcode := 5;
2096: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_INVALID_ITEM');
2097: FND_MSG_PUB.Add;
2098: ELSE
2099: x_errorcode := 0;
2100: END IF;
2101: end if;
2106: IF FND_API.to_Boolean(p_commit) THEN
2107: COMMIT;
2108: END IF;
2109: -- Standard call to get message count and if count is 1, get message info
2110: FND_MSG_PUB.Count_And_Get
2111: (p_count => x_msg_count
2112: , p_data => x_msg_data);
2113: EXCEPTION
2114: WHEN FND_API.G_EXC_ERROR THEN
2116: ROLLBACK TO Validate_Item;
2117: --
2118: x_return_status := FND_API.G_RET_STS_ERROR;
2119: --
2120: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2121: , p_data => x_msg_data);
2122: --
2123: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2124: --
2126: --
2127: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2128: --
2129: x_errorcode := -1;
2130: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2131: , p_data => x_msg_data);
2132: --
2133: WHEN OTHERS THEN
2134: --
2136: --
2137: x_errorcode := -1;
2138: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2139: --
2140: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2141: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2142: END IF;
2143: --
2144: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2137: x_errorcode := -1;
2138: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2139: --
2140: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2141: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2142: END IF;
2143: --
2144: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2145: , p_data => x_msg_data);
2140: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2141: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2142: END IF;
2143: --
2144: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2145: , p_data => x_msg_data);
2146: END;
2147: END;
2148: --
2252: END IF;
2253: --
2254: -- Initialize message list if p_init_msg_list is set to true
2255: IF FND_API.to_Boolean(p_init_msg_list) THEN
2256: FND_MSG_PUB.initialize;
2257: END IF;
2258: --
2259: -- Initialisize API return status to access
2260: x_return_status := FND_API.G_RET_STS_SUCCESS;
2322: IF p_locator_control = 2 OR
2323: (p_restrict_control = 1 AND p_control_level=1) THEN
2324: x_errorcode := 10;
2325: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_INVALID_LOC');
2326: FND_MSG_PUB.Add;
2327: RAISE FND_API.G_EXC_ERROR;
2328: END IF;
2329: -- Dynamic locator creation
2330: IF p_locator_control = 3 THEN
2339: mdebug('Error ');
2340: END IF;
2341: x_errorcode := 10;
2342: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_INVALID_LOC');
2343: FND_MSG_PUB.Add;
2344: RAISE FND_API.G_EXC_ERROR;
2345: END IF;
2346: END IF;
2347: ELSE
2367: MDEBUG( 'Validating Locator Restricted Loc - Error ' );
2368: END IF;
2369: x_errorcode := 47;
2370: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_LOC_NOT_IN_LIST');
2371: FND_MSG_PUB.Add;
2372: RAISE FND_API.G_EXC_ERROR;
2373: END IF;
2374: END IF;
2375: x_errorcode := 0;
2380: IF FND_API.to_Boolean(p_commit) THEN
2381: COMMIT;
2382: END IF;
2383: -- Standard call to get message count and if count is 1, get message info
2384: FND_MSG_PUB.Count_And_Get
2385: (p_count => x_msg_count
2386: , p_data => x_msg_data);
2387: EXCEPTION
2388: WHEN FND_API.G_EXC_ERROR THEN
2390: ROLLBACK TO Validate_Locator;
2391: --
2392: x_return_status := FND_API.G_RET_STS_ERROR;
2393: --
2394: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2395: , p_data => x_msg_data);
2396: --
2397: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2398: --
2400: --
2401: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2402: --
2403: x_errorcode := -1;
2404: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2405: , p_data => x_msg_data);
2406: --
2407: WHEN OTHERS THEN
2408: --
2410: --
2411: x_errorcode := -1;
2412: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2413: --
2414: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2415: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2416: END IF;
2417: --
2418: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2411: x_errorcode := -1;
2412: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2413: --
2414: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2415: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2416: END IF;
2417: --
2418: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2419: , p_data => x_msg_data);
2414: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2415: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2416: END IF;
2417: --
2418: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2419: , p_data => x_msg_data);
2420: END;
2421: END;
2422: --
2500: END IF;
2501: --
2502: -- Initialize message list if p_init_msg_list is set to true
2503: IF FND_API.to_Boolean(p_init_msg_list) THEN
2504: FND_MSG_PUB.initialize;
2505: END IF;
2506: --
2507: -- Initialisize API return status to access
2508: x_return_status := FND_API.G_RET_STS_SUCCESS;
2515:
2516: IF p_primary_uom_quantity is NULL THEN
2517: x_errorcode := 19;
2518: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_UOM');
2519: FND_MSG_PUB.Add;
2520: RAISE FND_API.G_EXC_ERROR;
2521: ELSE
2522: MTL_CCEOI_VAR_PVT.G_UOM_CODE := MTL_CCEOI_VAR_PVT.G_PRIMARY_UOM_CODE;
2523: Validate_CountQuantity(
2535: IF FND_API.to_Boolean(p_commit) THEN
2536: COMMIT;
2537: END IF;
2538: -- Standard call to get message count and if count is 1, get message info
2539: FND_MSG_PUB.Count_And_Get
2540: (p_count => x_msg_count
2541: , p_data => x_msg_data);
2542: EXCEPTION
2543: WHEN FND_API.G_EXC_ERROR THEN
2545: ROLLBACK TO Validate_PrimaryUomQuantity;
2546: --
2547: x_return_status := FND_API.G_RET_STS_ERROR;
2548: --
2549: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2550: , p_data => x_msg_data);
2551: --
2552: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2553: --
2555: --
2556: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2557: --
2558: x_errorcode := -1;
2559: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2560: , p_data => x_msg_data);
2561: --
2562: WHEN OTHERS THEN
2563: --
2565: --
2566: x_errorcode := -1;
2567: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2568: --
2569: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2570: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2571: END IF;
2572: --
2573: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2566: x_errorcode := -1;
2567: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2568: --
2569: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2570: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2571: END IF;
2572: --
2573: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2574: , p_data => x_msg_data);
2569: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2570: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2571: END IF;
2572: --
2573: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2574: , p_data => x_msg_data);
2575: END;
2576: END;
2577: --
2677: END IF;
2678: --
2679: -- Initialize message list if p_init_msg_list is set to true
2680: IF FND_API.to_Boolean(p_init_msg_list) THEN
2681: FND_MSG_PUB.initialize;
2682: END IF;
2683: --
2684: -- Initialisize API return status to access
2685: x_return_status := FND_API.G_RET_STS_SUCCESS;
2688: -- API body
2689: IF p_subinventory IS NULL THEN
2690: x_errorcode := 6;
2691: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_SUB');
2692: FND_MSG_PUB.Add;
2693: RAISE FND_API.G_EXC_ERROR;
2694: END IF;
2695: --
2696: IF (l_debug = 1) THEN
2706: MTL_CCEOI_VAR_PVT.G_SUB_LOCATOR_TYPE := l_sub.LOCATOR_TYPE;
2707: IF l_sub.QUANTITY_TRACKED <> 1 THEN
2708: x_errorcode := 8;
2709: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NON_QTY_TRKD_SUB');
2710: FND_MSG_PUB.Add;
2711: RAISE FND_API.G_EXC_ERROR;
2712: END IF;
2713: L_counter := L_counter + 1;
2714: END IF;
2716: --
2717: IF L_counter < 1 THEN
2718: x_errorcode := 6;
2719: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NO_SUB');
2720: FND_MSG_PUB.Add;
2721: RAISE FND_API.G_EXC_ERROR;
2722: END IF;
2723: --
2724: END IF;
2733: --
2734: IF L_counter < 1 THEN
2735: x_errorcode := 7;
2736: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_INVALID_SUB');
2737: FND_MSG_PUB.Add;
2738: RAISE FND_API.G_EXC_ERROR;
2739: END IF;
2740: END IF;
2741:
2749: IF FND_API.to_Boolean(p_commit) THEN
2750: COMMIT;
2751: END IF;
2752: -- Standard call to get message count and if count is 1, get message info
2753: FND_MSG_PUB.Count_And_Get
2754: (p_count => x_msg_count
2755: , p_data => x_msg_data);
2756: EXCEPTION
2757: WHEN FND_API.G_EXC_ERROR THEN
2759: ROLLBACK TO Validate_SubInv;
2760: --
2761: x_return_status := FND_API.G_RET_STS_ERROR;
2762: --
2763: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2764: , p_data => x_msg_data);
2765: --
2766: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2767: --
2769: --
2770: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2771: --
2772: x_errorcode := -1;
2773: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2774: , p_data => x_msg_data);
2775: --
2776: WHEN OTHERS THEN
2777: --
2779: --
2780: x_errorcode := -1;
2781: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2782: --
2783: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2784: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2785: END IF;
2786: --
2787: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2780: x_errorcode := -1;
2781: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2782: --
2783: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2784: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2785: END IF;
2786: --
2787: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2788: , p_data => x_msg_data);
2783: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2784: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
2785: END IF;
2786: --
2787: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
2788: , p_data => x_msg_data);
2789: END;
2790: END;
2791:
2899: END IF;
2900: --
2901: -- Initialize message list if p_init_msg_list is set to true
2902: IF FND_API.to_Boolean(p_init_msg_list) THEN
2903: FND_MSG_PUB.initialize;
2904: END IF;
2905: --
2906: -- Initialisize API return status to access
2907: x_return_status := FND_API.G_RET_STS_SUCCESS;
3006: IF FND_API.to_Boolean(p_commit) THEN
3007: COMMIT;
3008: END IF;
3009: -- Standard call to get message count and if count is 1, get message info
3010: FND_MSG_PUB.Count_And_Get
3011: (p_count => x_msg_count
3012: , p_data => x_msg_data);
3013: EXCEPTION
3014: WHEN FND_API.G_EXC_ERROR THEN
3016: ROLLBACK TO Locator_Control;
3017: --
3018: x_return_status := FND_API.G_RET_STS_ERROR;
3019: --
3020: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3021: , p_data => x_msg_data);
3022: --
3023: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3024: --
3025: ROLLBACK TO Locator_Control;
3026: --
3027: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3028: --
3029: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3030: , p_data => x_msg_data);
3031: --
3032: WHEN OTHERS THEN
3033: --
3034: ROLLBACK TO Locator_Control;
3035: --
3036: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3037: --
3038: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3039: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
3040: END IF;
3041: --
3042: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3035: --
3036: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3037: --
3038: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3039: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
3040: END IF;
3041: --
3042: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3043: , p_data => x_msg_data);
3038: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3039: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
3040: END IF;
3041: --
3042: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3043: , p_data => x_msg_data);
3044: END;
3045: END;
3046:
3209: END IF;
3210:
3211: -- Initialize message list if p_init_msg_list is set to true
3212: IF FND_API.to_Boolean(p_init_msg_list) THEN
3213: FND_MSG_PUB.initialize;
3214: END IF;
3215:
3216:
3217: -- Initialisize API return status to access
3351: IF FND_API.to_Boolean(p_commit) THEN
3352: COMMIT;
3353: END IF;
3354: -- Standard call to get message count and if count is 1, get message info
3355: FND_MSG_PUB.Count_And_Get
3356: (p_count => x_msg_count
3357: , p_data => x_msg_data);
3358: EXCEPTION
3359: WHEN FND_API.G_EXC_ERROR THEN
3362: --
3363: --MDEBUG( 'Exception Error ');
3364: x_return_status := FND_API.G_RET_STS_ERROR;
3365: --
3366: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3367: , p_data => x_msg_data);
3368: --
3369: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3370: --
3372: --
3373: --MDEBUG( 'UNexp Exception Error ');
3374: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3375: --
3376: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3377: , p_data => x_msg_data);
3378: --
3379: WHEN OTHERS THEN
3380: --
3382: ROLLBACK TO Inv_Dlocator_Create;
3383: --
3384: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3385: --
3386: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3387: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
3388: END IF;
3389: --
3390: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3383: --
3384: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3385: --
3386: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3387: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
3388: END IF;
3389: --
3390: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3391: , p_data => x_msg_data);
3386: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3387: FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
3388: END IF;
3389: --
3390: FND_MSG_PUB.Count_And_Get(p_count => x_msg_count
3391: , p_data => x_msg_data);
3392: END;
3393: END;
3394:
3439:
3440: --
3441: -- Initialize message list if p_init_msg_list is set to true
3442: IF fnd_api.to_boolean (p_init_msg_list) THEN
3443: fnd_msg_pub.initialize;
3444: END IF;
3445:
3446: --
3447: -- Initialisize API return status to success
3469:
3470: IF l_secondary_uom <> MTL_CCEOI_VAR_PVT.g_secondary_uom_code THEN
3471: x_errorcode := 20;
3472: fnd_message.set_name ('INV', 'INV_INCORRECT_SECONDARY_UOM');
3473: fnd_msg_pub.ADD;
3474: RAISE fnd_api.g_exc_error;
3475: END IF;
3476:
3477: --
3480: IF fnd_api.to_boolean (p_commit) THEN
3481: COMMIT;
3482: END IF;
3483:
3484: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3485: EXCEPTION
3486: WHEN fnd_api.g_exc_error THEN
3487: ROLLBACK TO validate_secondarycountuom;
3488: x_return_status := fnd_api.g_ret_sts_error;
3485: EXCEPTION
3486: WHEN fnd_api.g_exc_error THEN
3487: ROLLBACK TO validate_secondarycountuom;
3488: x_return_status := fnd_api.g_ret_sts_error;
3489: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3490: WHEN fnd_api.g_exc_unexpected_error THEN
3491: ROLLBACK TO validate_secondarycountuom;
3492: x_return_status := fnd_api.g_ret_sts_unexp_error;
3493: x_errorcode := -1;
3490: WHEN fnd_api.g_exc_unexpected_error THEN
3491: ROLLBACK TO validate_secondarycountuom;
3492: x_return_status := fnd_api.g_ret_sts_unexp_error;
3493: x_errorcode := -1;
3494: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3495: WHEN OTHERS THEN
3496: ROLLBACK TO validate_secondarycountuom;
3497: x_errorcode := -1;
3498: x_return_status := fnd_api.g_ret_sts_unexp_error;
3496: ROLLBACK TO validate_secondarycountuom;
3497: x_errorcode := -1;
3498: x_return_status := fnd_api.g_ret_sts_unexp_error;
3499:
3500: IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3501: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
3502: END IF;
3503:
3504: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3497: x_errorcode := -1;
3498: x_return_status := fnd_api.g_ret_sts_unexp_error;
3499:
3500: IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3501: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
3502: END IF;
3503:
3504: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3505: END validate_secondarycountuom;
3500: IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3501: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
3502: END IF;
3503:
3504: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3505: END validate_secondarycountuom;
3506:
3507: PROCEDURE validate_secondarycountqty (
3508: p_api_version IN NUMBER
3543: END IF;
3544:
3545: -- Initialize message list if p_init_msg_list is set to true
3546: IF fnd_api.to_boolean (p_init_msg_list) THEN
3547: fnd_msg_pub.initialize;
3548: END IF;
3549:
3550: -- Initialisize API return status to success
3551: x_return_status := fnd_api.g_ret_sts_success;
3566:
3567: IF (l_converted_qty = -99999) THEN
3568: x_errorcode := 50;
3569: FND_MESSAGE.SET_NAME('INV','INV_NO_CONVERSION_ERR');
3570: fnd_msg_pub.ADD;
3571: RAISE fnd_api.g_exc_error;
3572: END IF;
3573:
3574: MTL_CCEOI_VAR_PVT.g_secondary_count_quantity := l_converted_qty;
3576: ELSE -- p_secondary_quantity IS NOT NULL
3577: IF p_secondary_quantity < 0 THEN
3578: x_errorcode := 52;
3579: FND_MESSAGE.SET_NAME('INV', 'INV_CCEOI_NEG_QTY');
3580: FND_MSG_PUB.Add;
3581: RAISE FND_API.G_EXC_ERROR;
3582: END IF;
3583:
3584: IF ( INV_CONVERT.within_deviation(
3595:
3596: x_errorcode := 51;
3597: FND_MESSAGE.SET_NAME('INV','INV_DEVIATION_CHECK_ERR');
3598: -- An error occurred in call to INV_CONVERT.within_deviation
3599: fnd_msg_pub.ADD;
3600: RAISE fnd_api.g_exc_error;
3601: END IF;
3602:
3603: MTL_CCEOI_VAR_PVT.g_secondary_count_quantity := p_secondary_quantity;
3606: IF fnd_api.to_boolean (p_commit) THEN
3607: COMMIT;
3608: END IF;
3609:
3610: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3611: EXCEPTION
3612: WHEN fnd_api.g_exc_error THEN
3613: ROLLBACK TO validate_secondarycountqty;
3614: x_return_status := fnd_api.g_ret_sts_error;
3611: EXCEPTION
3612: WHEN fnd_api.g_exc_error THEN
3613: ROLLBACK TO validate_secondarycountqty;
3614: x_return_status := fnd_api.g_ret_sts_error;
3615: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3616: WHEN fnd_api.g_exc_unexpected_error THEN
3617: ROLLBACK TO validate_secondarycountqty;
3618: x_return_status := fnd_api.g_ret_sts_unexp_error;
3619: x_errorcode := -1;
3616: WHEN fnd_api.g_exc_unexpected_error THEN
3617: ROLLBACK TO validate_secondarycountqty;
3618: x_return_status := fnd_api.g_ret_sts_unexp_error;
3619: x_errorcode := -1;
3620: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3621: WHEN OTHERS THEN
3622: ROLLBACK TO validate_secondarycountqty;
3623: x_errorcode := -1;
3624: x_return_status := fnd_api.g_ret_sts_unexp_error;
3622: ROLLBACK TO validate_secondarycountqty;
3623: x_errorcode := -1;
3624: x_return_status := fnd_api.g_ret_sts_unexp_error;
3625:
3626: IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3627: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
3628: END IF;
3629:
3630: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3623: x_errorcode := -1;
3624: x_return_status := fnd_api.g_ret_sts_unexp_error;
3625:
3626: IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3627: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
3628: END IF;
3629:
3630: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3631: END validate_secondarycountqty;
3626: IF fnd_msg_pub.check_msg_level (fnd_msg_pub.g_msg_lvl_unexp_error) THEN
3627: fnd_msg_pub.add_exc_msg (g_pkg_name, l_api_name);
3628: END IF;
3629:
3630: fnd_msg_pub.count_and_get (p_count => x_msg_count, p_data => x_msg_data);
3631: END validate_secondarycountqty;
3632:
3633: -- END INVCONV
3634: