473: FETCH c_inv_sampling_event INTO x_sampling_event_id;
474: IF c_inv_sampling_event%NOTFOUND THEN
475: CLOSE c_inv_sampling_event;
476: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
477: RAISE FND_API.G_EXC_ERROR;
478: END IF;
479: CLOSE c_inv_sampling_event;
480: ELSIF p_sample.source = 'W' THEN
481: -- Sample Source is "WIP"
483: FETCH c_wip_sampling_event INTO x_sampling_event_id;
484: IF c_wip_sampling_event%NOTFOUND THEN
485: CLOSE c_wip_sampling_event;
486: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
487: RAISE FND_API.G_EXC_ERROR;
488: END IF;
489: CLOSE c_wip_sampling_event;
490: ELSIF p_sample.source = 'C' THEN
491: -- Sample Source is "Customer"
493: FETCH c_cust_sampling_event INTO x_sampling_event_id;
494: IF c_cust_sampling_event%NOTFOUND THEN
495: CLOSE c_cust_sampling_event;
496: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
497: RAISE FND_API.G_EXC_ERROR;
498: END IF;
499: CLOSE c_cust_sampling_event;
500: ELSIF p_sample.source = 'S' THEN
501: -- Sample Source is "Supplier"
503: FETCH c_supp_sampling_event INTO x_sampling_event_id;
504: IF c_supp_sampling_event%NOTFOUND THEN
505: CLOSE c_supp_sampling_event;
506: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
507: RAISE FND_API.G_EXC_ERROR;
508: END IF;
509: CLOSE c_supp_sampling_event;
510: ELSIF p_sample.source = 'L' THEN
511: -- Sample Source is "Monitor - Location"
512: OPEN c_loc_sampling_event;
513: FETCH c_loc_sampling_event INTO x_sampling_event_id;
514: IF c_loc_sampling_event%NOTFOUND THEN
515: CLOSE c_loc_sampling_event;
516: RAISE FND_API.G_EXC_ERROR;
517: END IF;
518: CLOSE c_loc_sampling_event;
519: ELSIF p_sample.source = 'R' THEN
520: -- Sample Source is "Monitor - Resource"
521: OPEN c_res_sampling_event;
522: FETCH c_res_sampling_event INTO x_sampling_event_id;
523: IF c_res_sampling_event%NOTFOUND THEN
524: CLOSE c_res_sampling_event;
525: RAISE FND_API.G_EXC_ERROR;
526: END IF;
527: CLOSE c_res_sampling_event;
528: ELSE
529: --GMD_API_PUB.Log_Message('GMD_SAMPLE_SOURCE_INVALID');
526: END IF;
527: CLOSE c_res_sampling_event;
528: ELSE
529: --GMD_API_PUB.Log_Message('GMD_SAMPLE_SOURCE_INVALID');
530: RAISE FND_API.G_EXC_ERROR;
531: END IF;
532:
533: -- If we reached here then we have found a Sampling event record
534: RETURN TRUE;
533: -- If we reached here then we have found a Sampling event record
534: RETURN TRUE;
535:
536: EXCEPTION
537: WHEN FND_API.G_EXC_ERROR THEN
538: RETURN FALSE;
539: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
540: RETURN FALSE;
541: WHEN OTHERS THEN
535:
536: EXCEPTION
537: WHEN FND_API.G_EXC_ERROR THEN
538: RETURN FALSE;
539: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
540: RETURN FALSE;
541: WHEN OTHERS THEN
542: RETURN FALSE;
543:
875: FETCH c_inv_sampling_event INTO x_sampling_event_id;
876: IF c_inv_sampling_event%NOTFOUND THEN
877: CLOSE c_inv_sampling_event;
878: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
879: RAISE FND_API.G_EXC_ERROR;
880: END IF;
881: CLOSE c_inv_sampling_event;
882: ELSIF p_sample.source = 'W' THEN
883: -- Sample Source is "WIP"
885: FETCH c_wip_sampling_event INTO x_sampling_event_id;
886: IF c_wip_sampling_event%NOTFOUND THEN
887: CLOSE c_wip_sampling_event;
888: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
889: RAISE FND_API.G_EXC_ERROR;
890: END IF;
891: CLOSE c_wip_sampling_event;
892: ELSIF p_sample.source = 'C' THEN
893: -- Sample Source is "Customer"
895: FETCH c_cust_sampling_event INTO x_sampling_event_id;
896: IF c_cust_sampling_event%NOTFOUND THEN
897: CLOSE c_cust_sampling_event;
898: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
899: RAISE FND_API.G_EXC_ERROR;
900: END IF;
901: CLOSE c_cust_sampling_event;
902: ELSIF p_sample.source = 'S' THEN
903: -- Sample Source is "Supplier"
905: FETCH c_supp_sampling_event INTO x_sampling_event_id;
906: IF c_supp_sampling_event%NOTFOUND THEN
907: CLOSE c_supp_sampling_event;
908: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
909: RAISE FND_API.G_EXC_ERROR;
910: END IF;
911: CLOSE c_supp_sampling_event;
912: ELSIF p_sample.source = 'L' THEN
913: -- Sample Source is "Monitor - Location"
914: OPEN c_loc_sampling_event;
915: FETCH c_loc_sampling_event INTO x_sampling_event_id;
916: IF c_loc_sampling_event%NOTFOUND THEN
917: CLOSE c_loc_sampling_event;
918: RAISE FND_API.G_EXC_ERROR;
919: END IF;
920: CLOSE c_loc_sampling_event;
921: ELSIF p_sample.source = 'R' THEN
922: -- Sample Source is "Monitor - Resource"
923: OPEN c_res_sampling_event;
924: FETCH c_res_sampling_event INTO x_sampling_event_id;
925: IF c_res_sampling_event%NOTFOUND THEN
926: CLOSE c_res_sampling_event;
927: RAISE FND_API.G_EXC_ERROR;
928: END IF;
929: CLOSE c_res_sampling_event;
930: ELSE
931: --GMD_API_PUB.Log_Message('GMD_SAMPLE_SOURCE_INVALID');
928: END IF;
929: CLOSE c_res_sampling_event;
930: ELSE
931: --GMD_API_PUB.Log_Message('GMD_SAMPLE_SOURCE_INVALID');
932: RAISE FND_API.G_EXC_ERROR;
933: END IF;
934:
935: -- If we reached here then we have found a Sampling event record
936: RETURN TRUE;
936: RETURN TRUE;
937:
938: END IF;
939: EXCEPTION
940: WHEN FND_API.G_EXC_ERROR THEN
941: RETURN FALSE;
942: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
943: RETURN FALSE;
944: WHEN OTHERS THEN
938: END IF;
939: EXCEPTION
940: WHEN FND_API.G_EXC_ERROR THEN
941: RETURN FALSE;
942: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
943: RETURN FALSE;
944: WHEN OTHERS THEN
945: RETURN FALSE;
946:
1180: FETCH c_inv_sampling_event INTO x_sampling_event_id;
1181: IF c_inv_sampling_event%NOTFOUND THEN
1182: CLOSE c_inv_sampling_event;
1183: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
1184: RAISE FND_API.G_EXC_ERROR;
1185: END IF;
1186: CLOSE c_inv_sampling_event;
1187: ELSIF p_sample.source = 'W' THEN
1188: -- Sample Source is "WIP"
1190: FETCH c_wip_sampling_event INTO x_sampling_event_id;
1191: IF c_wip_sampling_event%NOTFOUND THEN
1192: CLOSE c_wip_sampling_event;
1193: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
1194: RAISE FND_API.G_EXC_ERROR;
1195: END IF;
1196: CLOSE c_wip_sampling_event;
1197: ELSIF p_sample.source = 'C' THEN
1198: -- Sample Source is "Customer"
1200: FETCH c_cust_sampling_event INTO x_sampling_event_id;
1201: IF c_cust_sampling_event%NOTFOUND THEN
1202: CLOSE c_cust_sampling_event;
1203: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
1204: RAISE FND_API.G_EXC_ERROR;
1205: END IF;
1206: CLOSE c_cust_sampling_event;
1207: ELSIF p_sample.source = 'S' THEN
1208: -- Sample Source is "Supplier"
1210: FETCH c_supp_sampling_event INTO x_sampling_event_id;
1211: IF c_supp_sampling_event%NOTFOUND THEN
1212: CLOSE c_supp_sampling_event;
1213: --GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
1214: RAISE FND_API.G_EXC_ERROR;
1215: END IF;
1216: CLOSE c_supp_sampling_event;
1217:
1218: ELSIF p_sample.source = 'L' THEN
1220: OPEN c_loc_sampling_event;
1221: FETCH c_loc_sampling_event INTO x_sampling_event_id;
1222: IF c_loc_sampling_event%NOTFOUND THEN
1223: CLOSE c_loc_sampling_event;
1224: RAISE FND_API.G_EXC_ERROR;
1225: END IF;
1226: CLOSE c_loc_sampling_event;
1227: ELSIF p_sample.source = 'R' THEN
1228: -- Sample Source is "Monitor - Resource"
1229: OPEN c_res_sampling_event;
1230: FETCH c_res_sampling_event INTO x_sampling_event_id;
1231: IF c_res_sampling_event%NOTFOUND THEN
1232: CLOSE c_res_sampling_event;
1233: RAISE FND_API.G_EXC_ERROR;
1234: END IF;
1235: CLOSE c_res_sampling_event;
1236:
1237: ELSE
1235: CLOSE c_res_sampling_event;
1236:
1237: ELSE
1238: --GMD_API_PUB.Log_Message('GMD_SAMPLE_SOURCE_INVALID');
1239: RAISE FND_API.G_EXC_ERROR;
1240: END IF;
1241:
1242: -- If we reached here then we have found a Sampling event record
1243: RETURN TRUE;
1242: -- If we reached here then we have found a Sampling event record
1243: RETURN TRUE;
1244:
1245: EXCEPTION
1246: WHEN FND_API.G_EXC_ERROR THEN
1247: RETURN FALSE;
1248: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1249: RETURN FALSE;
1250: WHEN OTHERS THEN
1244:
1245: EXCEPTION
1246: WHEN FND_API.G_EXC_ERROR THEN
1247: RETURN FALSE;
1248: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1249: RETURN FALSE;
1250: WHEN OTHERS THEN
1251: RETURN FALSE;
1252:
1379: gmd_debug.put_line('Entered Procedure VALIDATE SAMPLES');
1380: END IF;
1381:
1382: -- Initialize API return status to success
1383: x_return_status := FND_API.G_RET_STS_SUCCESS;
1384: IF (l_debug = 'Y') THEN
1385: gmd_debug.put_line('called_from = ' || p_called_from);
1386: END IF;
1387: IF (p_called_from = 'API') THEN
1397: );
1398: -- No need if called from FORM since it is already
1399: -- done in the form
1400:
1401: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1402: -- Message is alrady logged by check_for_null procedure
1403: RAISE FND_API.G_EXC_ERROR;
1404: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1405: -- Message is alrady logged by check_for_null procedure
1399: -- done in the form
1400:
1401: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1402: -- Message is alrady logged by check_for_null procedure
1403: RAISE FND_API.G_EXC_ERROR;
1404: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1405: -- Message is alrady logged by check_for_null procedure
1406: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1407: END IF;
1400:
1401: IF l_return_status = FND_API.G_RET_STS_ERROR THEN
1402: -- Message is alrady logged by check_for_null procedure
1403: RAISE FND_API.G_EXC_ERROR;
1404: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1405: -- Message is alrady logged by check_for_null procedure
1406: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1407: END IF;
1408: END IF;
1402: -- Message is alrady logged by check_for_null procedure
1403: RAISE FND_API.G_EXC_ERROR;
1404: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1405: -- Message is alrady logged by check_for_null procedure
1406: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1407: END IF;
1408: END IF;
1409:
1410: -- Perform all other business validations.
1426: , x_orgn_found => found );
1427:
1428: IF NOT(found) OR (x_return_status <> 'S') THEN
1429: GMD_API_PUB.Log_Message('GMD_QM_ORG_PARAMETER');
1430: RAISE FND_API.G_EXC_ERROR;
1431: END IF;
1432:
1433: -- Skip if automatic assignmnet type, so sample number can be retrived after
1434: -- validation
1439: -- Huston, we have a problem...
1440: GMD_API_PUB.Log_Message('GMD_SAMPLE_EXIST',
1441: 'ORGN_CODE', p_sample.organization_id,
1442: 'SAMPLE_NO', p_sample.sample_no);
1443: RAISE FND_API.G_EXC_ERROR;
1444: END IF;
1445:
1446: END IF; -- Not automatic sample no assignment
1447: -- M. Grosser 03-May-2006 Bug 5115015 - End of changes
1494: EXCEPTION
1495: WHEN OTHERS THEN
1496: -- The message is already set, just put it on the stack.
1497: FND_MSG_PUB.ADD;
1498: RAISE FND_API.G_EXC_ERROR;
1499: END;
1500:
1501: IF (l_debug = 'Y') THEN
1502: gmd_debug.put_line('end validate sample');
1503: END IF;
1504: -- All systems GO...
1505:
1506: EXCEPTION
1507: WHEN FND_API.G_EXC_ERROR THEN
1508: x_return_status := FND_API.G_RET_STS_ERROR ;
1509: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1510: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1511: WHEN OTHERS THEN
1504: -- All systems GO...
1505:
1506: EXCEPTION
1507: WHEN FND_API.G_EXC_ERROR THEN
1508: x_return_status := FND_API.G_RET_STS_ERROR ;
1509: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1510: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1511: WHEN OTHERS THEN
1512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1505:
1506: EXCEPTION
1507: WHEN FND_API.G_EXC_ERROR THEN
1508: x_return_status := FND_API.G_RET_STS_ERROR ;
1509: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1510: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1511: WHEN OTHERS THEN
1512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1513:
1506: EXCEPTION
1507: WHEN FND_API.G_EXC_ERROR THEN
1508: x_return_status := FND_API.G_RET_STS_ERROR ;
1509: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1510: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1511: WHEN OTHERS THEN
1512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1513:
1514:
1508: x_return_status := FND_API.G_RET_STS_ERROR ;
1509: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1510: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1511: WHEN OTHERS THEN
1512: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1513:
1514:
1515: END validate_sample;
1516:
1630: gmd_debug.put_line('Entered Procedure UPDATE_SAMPLE_COMP_DISP');
1631: END IF;
1632:
1633: -- Initialize API return status to success
1634: x_return_status := FND_API.G_RET_STS_SUCCESS;
1635:
1636: l_position := '010' ;
1637:
1638: IF (l_debug = 'Y') THEN
1738: -- Bug# 5440347 start
1739: IF (return_status <> 'S') THEN
1740: FND_MSG_PUB.GET(p_msg_index => 1,
1741: p_data => l_data,
1742: p_encoded => FND_API.G_FALSE,
1743: p_msg_index_out => l_dummy_cnt);
1744: x_message_data := substr(x_message_data || l_data,1,2000) ;
1745: END IF;
1746:
1763: --call the batch step completion API.
1764: GME_API_PUB.complete_step(
1765: p_api_version => 2.0
1766: ,p_validation_level => gme_common_pvt.g_max_errors
1767: ,p_init_msg_list => fnd_api.g_false
1768: ,p_commit => fnd_api.g_false
1769: ,x_message_count => x_message_count
1770: ,x_message_list => x_message_list
1771: ,x_return_status => xx_return_status
1764: GME_API_PUB.complete_step(
1765: p_api_version => 2.0
1766: ,p_validation_level => gme_common_pvt.g_max_errors
1767: ,p_init_msg_list => fnd_api.g_false
1768: ,p_commit => fnd_api.g_false
1769: ,x_message_count => x_message_count
1770: ,x_message_list => x_message_list
1771: ,x_return_status => xx_return_status
1772: ,p_batch_step_rec => p_batch_step_rec
1771: ,x_return_status => xx_return_status
1772: ,p_batch_step_rec => p_batch_step_rec
1773: ,p_batch_no => NULL
1774: ,p_org_code => NULL
1775: ,p_ignore_exception => fnd_api.g_false
1776: ,p_override_quality => fnd_api.g_false
1777: ,p_validate_flexfields => fnd_api.g_false
1778: ,x_batch_step_rec => x_batch_step_rec
1779: ,x_exception_material_tbl => l_exception_material_tbl);
1772: ,p_batch_step_rec => p_batch_step_rec
1773: ,p_batch_no => NULL
1774: ,p_org_code => NULL
1775: ,p_ignore_exception => fnd_api.g_false
1776: ,p_override_quality => fnd_api.g_false
1777: ,p_validate_flexfields => fnd_api.g_false
1778: ,x_batch_step_rec => x_batch_step_rec
1779: ,x_exception_material_tbl => l_exception_material_tbl);
1780: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
1773: ,p_batch_no => NULL
1774: ,p_org_code => NULL
1775: ,p_ignore_exception => fnd_api.g_false
1776: ,p_override_quality => fnd_api.g_false
1777: ,p_validate_flexfields => fnd_api.g_false
1778: ,x_batch_step_rec => x_batch_step_rec
1779: ,x_exception_material_tbl => l_exception_material_tbl);
1780: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
1781:
1812: --Bug# 5440347 start
1813: IF (return_status <> 'S') THEN
1814: FND_MSG_PUB.GET(p_msg_index => 1,
1815: p_data => l_data,
1816: p_encoded => FND_API.G_FALSE,
1817: p_msg_index_out => l_dummy_cnt);
1818: x_message_data := substr(x_message_data || l_data,1,2000) ;
1819: END IF;
1820: --Bug# 5440347 end
1916: -- END IF;
1917: IF (return_status <> 'S') THEN
1918: FND_MSG_PUB.GET(p_msg_index => 1,
1919: p_data => l_data,
1920: p_encoded => FND_API.G_FALSE,
1921: p_msg_index_out => l_dummy_cnt);
1922: x_message_data := substr(x_message_data || l_data,1,2000) ;
1923: END IF;
1924: --Get the value of auto_complete_batch_step flag.
1938: --call the batch step completion API.
1939: GME_API_PUB.complete_step(
1940: p_api_version => 2.0
1941: ,p_validation_level => gme_common_pvt.g_max_errors
1942: ,p_init_msg_list => fnd_api.g_false
1943: ,p_commit => fnd_api.g_false
1944: ,x_message_count => x_message_count
1945: ,x_message_list => x_message_list
1946: ,x_return_status => xx_return_status
1939: GME_API_PUB.complete_step(
1940: p_api_version => 2.0
1941: ,p_validation_level => gme_common_pvt.g_max_errors
1942: ,p_init_msg_list => fnd_api.g_false
1943: ,p_commit => fnd_api.g_false
1944: ,x_message_count => x_message_count
1945: ,x_message_list => x_message_list
1946: ,x_return_status => xx_return_status
1947: ,p_batch_step_rec => p_batch_step_rec
1946: ,x_return_status => xx_return_status
1947: ,p_batch_step_rec => p_batch_step_rec
1948: ,p_batch_no => NULL
1949: ,p_org_code => NULL
1950: ,p_ignore_exception => fnd_api.g_false
1951: ,p_override_quality => fnd_api.g_false
1952: ,p_validate_flexfields => fnd_api.g_false
1953: ,x_batch_step_rec => x_batch_step_rec
1954: ,x_exception_material_tbl => l_exception_material_tbl);
1947: ,p_batch_step_rec => p_batch_step_rec
1948: ,p_batch_no => NULL
1949: ,p_org_code => NULL
1950: ,p_ignore_exception => fnd_api.g_false
1951: ,p_override_quality => fnd_api.g_false
1952: ,p_validate_flexfields => fnd_api.g_false
1953: ,x_batch_step_rec => x_batch_step_rec
1954: ,x_exception_material_tbl => l_exception_material_tbl);
1955: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
1948: ,p_batch_no => NULL
1949: ,p_org_code => NULL
1950: ,p_ignore_exception => fnd_api.g_false
1951: ,p_override_quality => fnd_api.g_false
1952: ,p_validate_flexfields => fnd_api.g_false
1953: ,x_batch_step_rec => x_batch_step_rec
1954: ,x_exception_material_tbl => l_exception_material_tbl);
1955: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
1956: IF (l_debug = 'Y') THEN
1980:
1981: IF (return_status <> 'S') THEN
1982: FND_MSG_PUB.GET(p_msg_index => 1,
1983: p_data => l_data,
1984: p_encoded => FND_API.G_FALSE,
1985: p_msg_index_out => l_dummy_cnt);
1986: x_message_data := substr(x_message_data || l_data,1,2000) ;
1987: END IF;
1988: END IF; --p_to_disposition in ('4A', '5AV')
2128:
2129:
2130: EXCEPTION WHEN REQ_FIELDS_MISSING THEN
2131: gmd_api_pub.log_message('GMD_REQ_FIELD_MIS','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2132: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2133: x_return_status := FND_API.G_RET_STS_ERROR ;
2134: WHEN INVALID_PARAMETER THEN
2135: gmd_api_pub.log_message('GMD_INVALID_PARAM','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2136: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2129:
2130: EXCEPTION WHEN REQ_FIELDS_MISSING THEN
2131: gmd_api_pub.log_message('GMD_REQ_FIELD_MIS','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2132: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2133: x_return_status := FND_API.G_RET_STS_ERROR ;
2134: WHEN INVALID_PARAMETER THEN
2135: gmd_api_pub.log_message('GMD_INVALID_PARAM','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2136: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2137: x_return_status := FND_API.G_RET_STS_ERROR ;
2132: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2133: x_return_status := FND_API.G_RET_STS_ERROR ;
2134: WHEN INVALID_PARAMETER THEN
2135: gmd_api_pub.log_message('GMD_INVALID_PARAM','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2136: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2137: x_return_status := FND_API.G_RET_STS_ERROR ;
2138: WHEN SAMPLE_SPEC_CHANGED THEN
2139: gmd_api_pub.log_message('GMD_SAMPLE_SPEC_CHANGED','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2140: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2133: x_return_status := FND_API.G_RET_STS_ERROR ;
2134: WHEN INVALID_PARAMETER THEN
2135: gmd_api_pub.log_message('GMD_INVALID_PARAM','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2136: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2137: x_return_status := FND_API.G_RET_STS_ERROR ;
2138: WHEN SAMPLE_SPEC_CHANGED THEN
2139: gmd_api_pub.log_message('GMD_SAMPLE_SPEC_CHANGED','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2140: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2141: x_return_status := FND_API.G_RET_STS_ERROR ;
2136: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2137: x_return_status := FND_API.G_RET_STS_ERROR ;
2138: WHEN SAMPLE_SPEC_CHANGED THEN
2139: gmd_api_pub.log_message('GMD_SAMPLE_SPEC_CHANGED','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2140: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2141: x_return_status := FND_API.G_RET_STS_ERROR ;
2142: WHEN SAMPLE_DISP_CHANGED THEN
2143: gmd_api_pub.log_message('GMD_SMPL_DISP_CHANGE','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2144: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2137: x_return_status := FND_API.G_RET_STS_ERROR ;
2138: WHEN SAMPLE_SPEC_CHANGED THEN
2139: gmd_api_pub.log_message('GMD_SAMPLE_SPEC_CHANGED','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2140: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2141: x_return_status := FND_API.G_RET_STS_ERROR ;
2142: WHEN SAMPLE_DISP_CHANGED THEN
2143: gmd_api_pub.log_message('GMD_SMPL_DISP_CHANGE','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2144: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2145: x_return_status := FND_API.G_RET_STS_ERROR ;
2140: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2141: x_return_status := FND_API.G_RET_STS_ERROR ;
2142: WHEN SAMPLE_DISP_CHANGED THEN
2143: gmd_api_pub.log_message('GMD_SMPL_DISP_CHANGE','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2144: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2145: x_return_status := FND_API.G_RET_STS_ERROR ;
2146: WHEN OTHERS THEN
2147: gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP','ERROR', SUBSTR(SQLERRM,1,100),'POSITION',l_position);
2148: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2141: x_return_status := FND_API.G_RET_STS_ERROR ;
2142: WHEN SAMPLE_DISP_CHANGED THEN
2143: gmd_api_pub.log_message('GMD_SMPL_DISP_CHANGE','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
2144: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2145: x_return_status := FND_API.G_RET_STS_ERROR ;
2146: WHEN OTHERS THEN
2147: gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP','ERROR', SUBSTR(SQLERRM,1,100),'POSITION',l_position);
2148: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2149: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2144: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2145: x_return_status := FND_API.G_RET_STS_ERROR ;
2146: WHEN OTHERS THEN
2147: gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP','ERROR', SUBSTR(SQLERRM,1,100),'POSITION',l_position);
2148: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2149: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2150:
2151: END update_sample_comp_disp ;
2152:
2145: x_return_status := FND_API.G_RET_STS_ERROR ;
2146: WHEN OTHERS THEN
2147: gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP','ERROR', SUBSTR(SQLERRM,1,100),'POSITION',l_position);
2148: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2149: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2150:
2151: END update_sample_comp_disp ;
2152:
2153:
2186: l_lot_number VARCHAR2(80);
2187:
2188: BEGIN
2189: -- Initialize API return status to success
2190: x_return_status := FND_API.G_RET_STS_SUCCESS;
2191:
2192: OPEN Cur_get_seq;
2193: FETCH Cur_get_seq INTO l_change_disp_id;
2194: CLOSE Cur_get_seq;
2254:
2255:
2256: IF SQL%NOTFOUND THEN
2257: gmd_api_pub.log_message('GMD_QM_CHANGE_DISP_ERR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_CHANGE_DISP_TABLE');
2258: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2259: x_return_status := FND_API.G_RET_STS_ERROR ;
2260: END IF; -- SQL%NOTFOUND THEN
2261:
2262:
2255:
2256: IF SQL%NOTFOUND THEN
2257: gmd_api_pub.log_message('GMD_QM_CHANGE_DISP_ERR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_CHANGE_DISP_TABLE');
2258: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2259: x_return_status := FND_API.G_RET_STS_ERROR ;
2260: END IF; -- SQL%NOTFOUND THEN
2261:
2262:
2263:
2327: END IF; -- (p_update_change_disp_rec.LOT_NUMBER IS NOT NULL)
2328:
2329: IF SQL%NOTFOUND THEN
2330: gmd_api_pub.log_message('GMD_QM_CHANGE_LOT_ERR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_CHANGE_DISP_TABLE');
2331: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2332: x_return_status := FND_API.G_RET_STS_ERROR ;
2333: END IF; -- SQL%NOTFOUND THEN
2334:
2335: END update_change_disp_table;
2328:
2329: IF SQL%NOTFOUND THEN
2330: gmd_api_pub.log_message('GMD_QM_CHANGE_LOT_ERR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_CHANGE_DISP_TABLE');
2331: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2332: x_return_status := FND_API.G_RET_STS_ERROR ;
2333: END IF; -- SQL%NOTFOUND THEN
2334:
2335: END update_change_disp_table;
2336:
2570: /*
2571: Changes made as a part of Bug#10170611 ends
2572: */
2573: -- Initialize API return status to success
2574: x_return_status := FND_API.G_RET_STS_SUCCESS;
2575: gmd_debug.Log_Initialize('Update_lot_grade_batch');
2576:
2577:
2578: IF (l_debug = 'Y') THEN
2712: -- set up constants needed for the inventory API.
2713: -- Bug 4165704- not needed after inventory convergence
2714: --l_tempb := GMIGUTL.SETUP(FND_GLOBAL.USER_NAME);
2715: --IF (NOT l_tempb) THEN
2716: -- x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2717: -- x_return_status := FND_API.G_RET_STS_ERROR ;
2718: -- return;
2719: --END IF;
2720:
2713: -- Bug 4165704- not needed after inventory convergence
2714: --l_tempb := GMIGUTL.SETUP(FND_GLOBAL.USER_NAME);
2715: --IF (NOT l_tempb) THEN
2716: -- x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
2717: -- x_return_status := FND_API.G_RET_STS_ERROR ;
2718: -- return;
2719: --END IF;
2720:
2721: l_position := '020' ;
2758: -- Bug 4165704: if from_grade_code changed, return to form
2759: -- IF (p_from_grade_code <> get_curr_grade_rec.grade_code) THEN
2760: --error out020
2761: --gml_sf_log('grade code is wrong');
2762: -- RAISE FND_API.G_EXC_ERROR;
2763: -- ELSE
2764: -- Bug 4165704: Changed from call to inventory posting to INV_GRADE_PKG.UPDATE_GRADE
2765: -- process data record
2766: -- , p_lot_number => l_lot_number
2779: , p_secondary_quantity => NULL ); --xxx not sure what this value is yet
2780:
2781: IF x_return_status <> 'S'
2782: THEN
2783: RAISE FND_API.G_EXC_ERROR;
2784: END IF; -- x_return_status <> 'S'
2785: -- END IF; -- p_from_grade_code has not changed
2786:
2787: -- Taken out with Inventory Convergence and replaced with above code
2797: -- l_trans_rec_grade.trans_qty := NULL;
2798:
2799: -- GMIPAPI.Inventory_Posting
2800: -- ( p_api_version => 3.0
2801: -- p_init_msg_list => FND_API.G_TRUE
2802: -- p_commit => FND_API.G_FALSE
2803: -- p_validation_level => FND_API.G_VALID_LEVEL_FULL
2804: -- p_qty_rec => l_trans_rec_grade
2805: -- x_ic_jrnl_mst_row => l_ic_jrnl_mst_row
2798:
2799: -- GMIPAPI.Inventory_Posting
2800: -- ( p_api_version => 3.0
2801: -- p_init_msg_list => FND_API.G_TRUE
2802: -- p_commit => FND_API.G_FALSE
2803: -- p_validation_level => FND_API.G_VALID_LEVEL_FULL
2804: -- p_qty_rec => l_trans_rec_grade
2805: -- x_ic_jrnl_mst_row => l_ic_jrnl_mst_row
2806: -- x_ic_adjs_jnl_row1 => l_ic_adjs_jnl_row1
2799: -- GMIPAPI.Inventory_Posting
2800: -- ( p_api_version => 3.0
2801: -- p_init_msg_list => FND_API.G_TRUE
2802: -- p_commit => FND_API.G_FALSE
2803: -- p_validation_level => FND_API.G_VALID_LEVEL_FULL
2804: -- p_qty_rec => l_trans_rec_grade
2805: -- x_ic_jrnl_mst_row => l_ic_jrnl_mst_row
2806: -- x_ic_adjs_jnl_row1 => l_ic_adjs_jnl_row1
2807: -- x_ic_adjs_jnl_row2 => l_ic_adjs_jnl_row2
2824:
2825: LOOP
2826: FETCH get_curr_grade_cv into get_curr_grade_rec ;
2827: EXIT WHEN get_curr_grade_cv%NOTFOUND ; -- exit when last row is fetched
2828: --RLNAGARA B5668965 Changed the exception from FND_API.G_EXC_ERROR to SAMPLE_DISP_CHANGED
2829: -- Bug 4165704: if from_grade_code changed, return to form
2830: IF (p_from_grade_code <> get_curr_grade_rec.grade_code) THEN
2831: --xxxerror out
2832: RAISE SAMPLE_DISP_CHANGED;
2847: , p_primary_quantity => NULL -- not sure what this value is yet
2848: , p_secondary_quantity => NULL ); --xxx not sure what this value is yet
2849:
2850: IF x_return_status <> 'S' THEN
2851: RAISE FND_API.G_EXC_ERROR;
2852: END IF; -- x_return_status <> 'S'
2853:
2854: END IF; -- (p_from_grade_code <> get_curr_grade_rec.grade_code) THEN
2855: END LOOP;
2962: -- Bug 4165704: if from_lot_status changed, return to form
2963: -- IF (p_from_lot_status_id <> get_curr_lot_status_rec.status_id ) THEN
2964: --mxxxerror out
2965: -- RAISE SAMPLE_DISP_CHANGED;
2966: --RAISE FND_API.G_EXC_ERROR;
2967: -- ELSE
2968:
2969: -- Bug 4165704: replaced GMIPAPI.Inventory_Posting with Inv_Status_Pkg.update_status
2970: -- l_trans_rec_lot_status.trans_type := 4;
2979: -- l_trans_rec_lot_status.trans_date := SYSDATE ;
2980: -- l_trans_rec_lot_status.trans_qty := NULL;
2981: --GMIPAPI.Inventory_Posting
2982: --( p_api_version => 3.0
2983: --, p_init_msg_list => FND_API.G_TRUE
2984: --, p_commit => FND_API.G_FALSE
2985: --, p_validation_level => FND_API.G_VALID_LEVEL_FULL
2986: --, p_qty_rec => l_trans_rec_lot_status
2987: --, x_ic_jrnl_mst_row => l_ic_jrnl_mst_row
2980: -- l_trans_rec_lot_status.trans_qty := NULL;
2981: --GMIPAPI.Inventory_Posting
2982: --( p_api_version => 3.0
2983: --, p_init_msg_list => FND_API.G_TRUE
2984: --, p_commit => FND_API.G_FALSE
2985: --, p_validation_level => FND_API.G_VALID_LEVEL_FULL
2986: --, p_qty_rec => l_trans_rec_lot_status
2987: --, x_ic_jrnl_mst_row => l_ic_jrnl_mst_row
2988: --, x_ic_adjs_jnl_row1 => l_ic_adjs_jnl_row1
2981: --GMIPAPI.Inventory_Posting
2982: --( p_api_version => 3.0
2983: --, p_init_msg_list => FND_API.G_TRUE
2984: --, p_commit => FND_API.G_FALSE
2985: --, p_validation_level => FND_API.G_VALID_LEVEL_FULL
2986: --, p_qty_rec => l_trans_rec_lot_status
2987: --, x_ic_jrnl_mst_row => l_ic_jrnl_mst_row
2988: --, x_ic_adjs_jnl_row1 => l_ic_adjs_jnl_row1
2989: --, x_ic_adjs_jnl_row2 => l_ic_adjs_jnl_row2
3024: -- call API with LPN once
3025:
3026: INV_MATERIAL_STATUS_PUB.update_status
3027: (p_api_version_number => 1.0,
3028: p_init_msg_lst => fnd_api.g_false,
3029: p_commit => fnd_api.g_false,
3030: x_return_status => x_return_status,
3031: x_msg_count => l_count,
3032: x_msg_data => l_data,
3025:
3026: INV_MATERIAL_STATUS_PUB.update_status
3027: (p_api_version_number => 1.0,
3028: p_init_msg_lst => fnd_api.g_false,
3029: p_commit => fnd_api.g_false,
3030: x_return_status => x_return_status,
3031: x_msg_count => l_count,
3032: x_msg_data => l_data,
3033: p_object_type => l_object_type,
3035:
3036: --end of bug 10169386
3037: IF x_return_status not in ('S','W') -- 14769409
3038: THEN
3039: RAISE FND_API.G_EXC_ERROR;
3040: END IF; -- IF x_return_status not in ('S','W') -- pal
3041:
3042: -- END IF; -- (p_from_lot_status_id <> get_curr_lot_status_rec.status_id THEN
3043:
3068: END IF;
3069:
3070: INV_MATERIAL_STATUS_PUB.update_status
3071: (p_api_version_number => 1.0,
3072: p_init_msg_lst => fnd_api.g_false,
3073: p_commit => fnd_api.g_false,
3074: x_return_status => x_return_status,
3075: x_msg_count => l_count,
3076: x_msg_data => l_data,
3069:
3070: INV_MATERIAL_STATUS_PUB.update_status
3071: (p_api_version_number => 1.0,
3072: p_init_msg_lst => fnd_api.g_false,
3073: p_commit => fnd_api.g_false,
3074: x_return_status => x_return_status,
3075: x_msg_count => l_count,
3076: x_msg_data => l_data,
3077: p_object_type => l_object_type,
3079:
3080:
3081: IF x_return_status not in ('S','W') -- 14769409
3082: THEN
3083: RAISE FND_API.G_EXC_ERROR;
3084: END IF; -- x_return_status <> 'S'
3085:
3086:
3087: END LOOP;
3096:
3097: -- call API with null LPN
3098: INV_MATERIAL_STATUS_PUB.update_status
3099: (p_api_version_number => 1.0,
3100: p_init_msg_lst => fnd_api.g_false,
3101: p_commit => fnd_api.g_false,
3102: x_return_status => x_return_status,
3103: x_msg_count => l_count,
3104: x_msg_data => l_data,
3097: -- call API with null LPN
3098: INV_MATERIAL_STATUS_PUB.update_status
3099: (p_api_version_number => 1.0,
3100: p_init_msg_lst => fnd_api.g_false,
3101: p_commit => fnd_api.g_false,
3102: x_return_status => x_return_status,
3103: x_msg_count => l_count,
3104: x_msg_data => l_data,
3105: p_object_type => l_object_type,
3107:
3108:
3109: IF x_return_status not in ('S','W') -- 14769409
3110: THEN
3111: RAISE FND_API.G_EXC_ERROR;
3112: END IF; -- x_return_status <> 'S'
3113:
3114:
3115:
3140: -- Bug 4165704: if from_lot_status changed, return to form
3141: IF (p_from_lot_status_id <> get_curr_lot_status_rec.status_id ) THEN
3142: --xxxerror out
3143: RAISE SAMPLE_DISP_CHANGED;
3144: --RAISE FND_API.G_EXC_ERROR;
3145: ELSE
3146: --start of bug 10169386
3147: l_inv_status_upd_rec_type.organization_id := l_organization_id;
3148: l_inv_status_upd_rec_type.inventory_item_id := l_inventory_item_id;
3182: -- call API with LPN once
3183:
3184: INV_MATERIAL_STATUS_PUB.update_status
3185: (p_api_version_number => 1.0,
3186: p_init_msg_lst => fnd_api.g_false,
3187: p_commit => fnd_api.g_false,
3188: x_return_status => x_return_status,
3189: x_msg_count => l_count,
3190: x_msg_data => l_data,
3183:
3184: INV_MATERIAL_STATUS_PUB.update_status
3185: (p_api_version_number => 1.0,
3186: p_init_msg_lst => fnd_api.g_false,
3187: p_commit => fnd_api.g_false,
3188: x_return_status => x_return_status,
3189: x_msg_count => l_count,
3190: x_msg_data => l_data,
3191: p_object_type => l_object_type,
3193:
3194: --end of bug 10169386
3195: IF x_return_status not in ('S','W') -- 14769409
3196: THEN
3197: RAISE FND_API.G_EXC_ERROR;
3198: END IF; -- x_return_status <> 'S'
3199:
3200: -- call API with null LPN to take care of loose material IF IT EXISTS (extra fix for loose material )
3201:
3220: l_inv_status_upd_rec_type.LPN_ID := NULL;
3221:
3222: INV_MATERIAL_STATUS_PUB.update_status
3223: (p_api_version_number => 1.0,
3224: p_init_msg_lst => fnd_api.g_false,
3225: p_commit => fnd_api.g_false,
3226: x_return_status => x_return_status,
3227: x_msg_count => l_count,
3228: x_msg_data => l_data,
3221:
3222: INV_MATERIAL_STATUS_PUB.update_status
3223: (p_api_version_number => 1.0,
3224: p_init_msg_lst => fnd_api.g_false,
3225: p_commit => fnd_api.g_false,
3226: x_return_status => x_return_status,
3227: x_msg_count => l_count,
3228: x_msg_data => l_data,
3229: p_object_type => l_object_type,
3231:
3232: --end of bug 10169386
3233: IF x_return_status not in ('S','W') -- 14769409
3234: THEN
3235: RAISE FND_API.G_EXC_ERROR;
3236: END IF; -- x_return_status <> 'S'
3237:
3238:
3239: end if ; -- IF cur_get_loose_lpn%NOTFOUND then
3265: END IF;
3266:
3267: INV_MATERIAL_STATUS_PUB.update_status
3268: (p_api_version_number => 1.0,
3269: p_init_msg_lst => fnd_api.g_false,
3270: p_commit => fnd_api.g_false,
3271: x_return_status => x_return_status,
3272: x_msg_count => l_count,
3273: x_msg_data => l_data,
3266:
3267: INV_MATERIAL_STATUS_PUB.update_status
3268: (p_api_version_number => 1.0,
3269: p_init_msg_lst => fnd_api.g_false,
3270: p_commit => fnd_api.g_false,
3271: x_return_status => x_return_status,
3272: x_msg_count => l_count,
3273: x_msg_data => l_data,
3274: p_object_type => l_object_type,
3276:
3277:
3278: IF x_return_status not in ('S','W') -- 14769409
3279: THEN
3280: RAISE FND_API.G_EXC_ERROR;
3281: END IF; -- x_return_status <> 'S'
3282:
3283:
3284: END LOOP;
3291: gmd_debug.put_line('calling INV_MATERIAL_STATUS_PUB.update_status API with no LPN found lpn NOT passed from sample - org is wms enabled ; lot number :'|| l_inv_status_upd_rec_type.lot_number);
3292: END IF;
3293: INV_MATERIAL_STATUS_PUB.update_status
3294: (p_api_version_number => 1.0,
3295: p_init_msg_lst => fnd_api.g_false,
3296: p_commit => fnd_api.g_false,
3297: x_return_status => x_return_status,
3298: x_msg_count => l_count,
3299: x_msg_data => l_data,
3292: END IF;
3293: INV_MATERIAL_STATUS_PUB.update_status
3294: (p_api_version_number => 1.0,
3295: p_init_msg_lst => fnd_api.g_false,
3296: p_commit => fnd_api.g_false,
3297: x_return_status => x_return_status,
3298: x_msg_count => l_count,
3299: x_msg_data => l_data,
3300: p_object_type => l_object_type,
3301: p_status_rec => l_inv_status_upd_rec_type);
3302:
3303: IF x_return_status not in ('S','W') -- 14769409
3304: THEN
3305: RAISE FND_API.G_EXC_ERROR;
3306: END IF; -- x_return_status <> 'S'
3307:
3308: END IF; -- IF l_lpn_found <> 1 then
3309: -- end pal 14620426 sep 14 fix
3316: END IF;
3317: -- call API with null LPN
3318: INV_MATERIAL_STATUS_PUB.update_status
3319: (p_api_version_number => 1.0,
3320: p_init_msg_lst => fnd_api.g_false,
3321: p_commit => fnd_api.g_false,
3322: x_return_status => x_return_status,
3323: x_msg_count => l_count,
3324: x_msg_data => l_data,
3317: -- call API with null LPN
3318: INV_MATERIAL_STATUS_PUB.update_status
3319: (p_api_version_number => 1.0,
3320: p_init_msg_lst => fnd_api.g_false,
3321: p_commit => fnd_api.g_false,
3322: x_return_status => x_return_status,
3323: x_msg_count => l_count,
3324: x_msg_data => l_data,
3325: p_object_type => l_object_type,
3327:
3328:
3329: IF x_return_status not in ('S','W') -- 14769409
3330: THEN
3331: RAISE FND_API.G_EXC_ERROR;
3332: END IF; -- x_return_status <> 'S'
3333:
3334:
3335:
3370: ); */
3371: --end of bug 10169386
3372: IF x_return_status <> 'S' THEN
3373: GMD_API_PUB.Log_Message('GMD_QM_INV_REASON_CODE');
3374: RAISE FND_API.G_EXC_ERROR;
3375: END IF; -- x_return_status <> 'S'
3376:
3377: END IF; -- (p_from_lot_status_id <> get_curr_lot_status_rec.status_id THEN
3378:
3451: --call the batch step completion API.
3452: GME_API_PUB.complete_step(
3453: p_api_version => 2.0
3454: ,p_validation_level => gme_common_pvt.g_max_errors
3455: ,p_init_msg_list => fnd_api.g_false
3456: ,p_commit => fnd_api.g_false
3457: ,x_message_count => x_message_count
3458: ,x_message_list => x_message_list
3459: ,x_return_status => xx_return_status
3452: GME_API_PUB.complete_step(
3453: p_api_version => 2.0
3454: ,p_validation_level => gme_common_pvt.g_max_errors
3455: ,p_init_msg_list => fnd_api.g_false
3456: ,p_commit => fnd_api.g_false
3457: ,x_message_count => x_message_count
3458: ,x_message_list => x_message_list
3459: ,x_return_status => xx_return_status
3460: ,p_batch_step_rec => p_batch_step_rec
3459: ,x_return_status => xx_return_status
3460: ,p_batch_step_rec => p_batch_step_rec
3461: ,p_batch_no => NULL
3462: ,p_org_code => NULL
3463: ,p_ignore_exception => fnd_api.g_false
3464: ,p_override_quality => fnd_api.g_false
3465: ,p_validate_flexfields => fnd_api.g_false
3466: ,x_batch_step_rec => x_batch_step_rec
3467: ,x_exception_material_tbl => l_exception_material_tbl);
3460: ,p_batch_step_rec => p_batch_step_rec
3461: ,p_batch_no => NULL
3462: ,p_org_code => NULL
3463: ,p_ignore_exception => fnd_api.g_false
3464: ,p_override_quality => fnd_api.g_false
3465: ,p_validate_flexfields => fnd_api.g_false
3466: ,x_batch_step_rec => x_batch_step_rec
3467: ,x_exception_material_tbl => l_exception_material_tbl);
3468: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
3461: ,p_batch_no => NULL
3462: ,p_org_code => NULL
3463: ,p_ignore_exception => fnd_api.g_false
3464: ,p_override_quality => fnd_api.g_false
3465: ,p_validate_flexfields => fnd_api.g_false
3466: ,x_batch_step_rec => x_batch_step_rec
3467: ,x_exception_material_tbl => l_exception_material_tbl);
3468: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
3469:
3494: EXCEPTION
3495: WHEN SAMPLE_DISP_CHANGED THEN
3496: --RLNAGARA B5668965 Changed the message from GMD_SMPL_DISP_CHANGE to GMD_QM_CURRENT_LOT_VALUE_CHANG
3497: gmd_api_pub.log_message('GMD_QM_CURRENT_LOT_VALUE_CHANG','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
3498: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3499: x_return_status := FND_API.G_RET_STS_ERROR ;
3500: WHEN REQ_FIELDS_MISSING THEN
3501: gmd_api_pub.log_message('GMD_REQ_FIELD_MIS','PACKAGE','GMD_SAMPLES_GRP.UPDATE_LOT_GRADE_BATCH');
3502: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3495: WHEN SAMPLE_DISP_CHANGED THEN
3496: --RLNAGARA B5668965 Changed the message from GMD_SMPL_DISP_CHANGE to GMD_QM_CURRENT_LOT_VALUE_CHANG
3497: gmd_api_pub.log_message('GMD_QM_CURRENT_LOT_VALUE_CHANG','PACKAGE','GMD_SAMPLES_GRP.UPDATE_SAMPLE_COMP_DISP');
3498: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3499: x_return_status := FND_API.G_RET_STS_ERROR ;
3500: WHEN REQ_FIELDS_MISSING THEN
3501: gmd_api_pub.log_message('GMD_REQ_FIELD_MIS','PACKAGE','GMD_SAMPLES_GRP.UPDATE_LOT_GRADE_BATCH');
3502: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3503: x_return_status := FND_API.G_RET_STS_ERROR ;
3498: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3499: x_return_status := FND_API.G_RET_STS_ERROR ;
3500: WHEN REQ_FIELDS_MISSING THEN
3501: gmd_api_pub.log_message('GMD_REQ_FIELD_MIS','PACKAGE','GMD_SAMPLES_GRP.UPDATE_LOT_GRADE_BATCH');
3502: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3503: x_return_status := FND_API.G_RET_STS_ERROR ;
3504: WHEN INVALID_SAMPLE THEN
3505: gmd_api_pub.log_message('GMD_QM_INVALID_SAMPLE');
3506: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3499: x_return_status := FND_API.G_RET_STS_ERROR ;
3500: WHEN REQ_FIELDS_MISSING THEN
3501: gmd_api_pub.log_message('GMD_REQ_FIELD_MIS','PACKAGE','GMD_SAMPLES_GRP.UPDATE_LOT_GRADE_BATCH');
3502: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3503: x_return_status := FND_API.G_RET_STS_ERROR ;
3504: WHEN INVALID_SAMPLE THEN
3505: gmd_api_pub.log_message('GMD_QM_INVALID_SAMPLE');
3506: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3507: x_return_status := FND_API.G_RET_STS_ERROR ;
3502: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3503: x_return_status := FND_API.G_RET_STS_ERROR ;
3504: WHEN INVALID_SAMPLE THEN
3505: gmd_api_pub.log_message('GMD_QM_INVALID_SAMPLE');
3506: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3507: x_return_status := FND_API.G_RET_STS_ERROR ;
3508: WHEN INVALID_QC_STATUS THEN
3509: gmd_api_pub.log_message('GME_INV_STEP_QUALITY_STATUS');
3510: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3503: x_return_status := FND_API.G_RET_STS_ERROR ;
3504: WHEN INVALID_SAMPLE THEN
3505: gmd_api_pub.log_message('GMD_QM_INVALID_SAMPLE');
3506: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3507: x_return_status := FND_API.G_RET_STS_ERROR ;
3508: WHEN INVALID_QC_STATUS THEN
3509: gmd_api_pub.log_message('GME_INV_STEP_QUALITY_STATUS');
3510: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3511: x_return_status := FND_API.G_RET_STS_ERROR ;
3506: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3507: x_return_status := FND_API.G_RET_STS_ERROR ;
3508: WHEN INVALID_QC_STATUS THEN
3509: gmd_api_pub.log_message('GME_INV_STEP_QUALITY_STATUS');
3510: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3511: x_return_status := FND_API.G_RET_STS_ERROR ;
3512:
3513: WHEN RECORD_LOCK THEN
3514: GMD_API_PUB.Log_Message('GMD_IC_LOTS_CPG_LOCKED');
3507: x_return_status := FND_API.G_RET_STS_ERROR ;
3508: WHEN INVALID_QC_STATUS THEN
3509: gmd_api_pub.log_message('GME_INV_STEP_QUALITY_STATUS');
3510: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3511: x_return_status := FND_API.G_RET_STS_ERROR ;
3512:
3513: WHEN RECORD_LOCK THEN
3514: GMD_API_PUB.Log_Message('GMD_IC_LOTS_CPG_LOCKED');
3515: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3511: x_return_status := FND_API.G_RET_STS_ERROR ;
3512:
3513: WHEN RECORD_LOCK THEN
3514: GMD_API_PUB.Log_Message('GMD_IC_LOTS_CPG_LOCKED');
3515: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3516: x_return_status := FND_API.G_RET_STS_ERROR ;
3517:
3518: WHEN OTHERS THEN
3519: IF get_curr_grade_cv%ISOPEN THEN
3512:
3513: WHEN RECORD_LOCK THEN
3514: GMD_API_PUB.Log_Message('GMD_IC_LOTS_CPG_LOCKED');
3515: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3516: x_return_status := FND_API.G_RET_STS_ERROR ;
3517:
3518: WHEN OTHERS THEN
3519: IF get_curr_grade_cv%ISOPEN THEN
3520: CLOSE get_curr_grade_cv;
3522: IF get_curr_lot_status_cv%ISOPEN THEN
3523: CLOSE get_curr_lot_status_cv;
3524: END IF;
3525: gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_LOT_GRADE_BATCH','ERROR', SUBSTR(SQLERRM,1,100),'POSITION',l_position);
3526: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3527: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3528: END update_lot_grade_batch ;
3529:
3530:
3523: CLOSE get_curr_lot_status_cv;
3524: END IF;
3525: gmd_api_pub.log_message('GMD_API_ERROR','PACKAGE','GMD_SAMPLES_GRP.UPDATE_LOT_GRADE_BATCH','ERROR', SUBSTR(SQLERRM,1,100),'POSITION',l_position);
3526: x_message_data := FND_MSG_PUB.GET(FND_MSG_PUB.G_LAST,FND_API.G_FALSE);
3527: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3528: END update_lot_grade_batch ;
3529:
3530:
3531:
3812:
3813: BEGIN
3814:
3815: -- Initialize API return status to success
3816: x_return_status := FND_API.G_RET_STS_SUCCESS;
3817:
3818: -- Orgn Code
3819: IF (p_sample.organization_id IS NULL) THEN
3820: GMD_API_PUB.Log_Message('GMD_ORGN_CODE_REQD');
3817:
3818: -- Orgn Code
3819: IF (p_sample.organization_id IS NULL) THEN
3820: GMD_API_PUB.Log_Message('GMD_ORGN_CODE_REQD');
3821: RAISE FND_API.G_EXC_ERROR;
3822: ELSE
3823: -- Check that orgn Code exist in SY_ORGN_MST
3824: OPEN c_orgn(p_sample.organization_id);
3825: FETCH c_orgn INTO dummy;
3826: IF c_orgn%NOTFOUND THEN
3827: CLOSE c_orgn;
3828: GMD_API_PUB.Log_Message('GMD_ORGN_CODE_NOT_FOUND',
3829: 'ORGN', p_sample.lab_organization_id);
3830: RAISE FND_API.G_EXC_ERROR;
3831: END IF;
3832: CLOSE c_orgn;
3833: END IF;
3834:
3835: -- Sampler Id Validation
3836:
3837: IF (p_sample.sampler_id IS NULL ) THEN
3838: GMD_API_PUB.Log_Message('GMD_SAMPLER_ID_REQD');
3839: RAISE FND_API.G_EXC_ERROR;
3840: ELSE
3841: -- Check that orgn Code exist in SY_ORGN_MST
3842: OPEN c_sampler(p_sample.organization_id, p_sample.sampler_id);
3843: FETCH c_sampler INTO dummy;
3843: FETCH c_sampler INTO dummy;
3844: IF c_sampler%NOTFOUND THEN
3845: GMD_API_PUB.Log_Message('GMD_SAMPLER_ID_NOTFOUND',
3846: 'SAMPLER', p_sample.sampler_id);
3847: RAISE FND_API.G_EXC_ERROR;
3848: CLOSE c_sampler;
3849: END IF;
3850: CLOSE c_sampler;
3851: END IF;
3853:
3854: -- Sample No
3855: IF (ltrim(rtrim(p_sample.sample_no)) IS NULL) THEN
3856: GMD_API_PUB.Log_Message('GMD_SAMPLE_NUMBER_REQD');
3857: RAISE FND_API.G_EXC_ERROR;
3858: END IF;
3859:
3860: -- Sample Source
3861: IF (p_sample.source IS NULL OR
3862: (NOT (p_sample.source in ('I', 'W', 'C', 'S','L','R','T')))
3863: ) THEN
3864: -- Now, what is the source of this sample? Where did it come from?
3865: GMD_API_PUB.Log_Message('GMD_SAMPLE_SOURCE_INVALID');
3866: RAISE FND_API.G_EXC_ERROR;
3867: END IF;
3868:
3869: -- QC Lab Orgn Code
3870: IF (p_sample.lab_organization_id IS NULL) THEN
3868:
3869: -- QC Lab Orgn Code
3870: IF (p_sample.lab_organization_id IS NULL) THEN
3871: GMD_API_PUB.Log_Message('GMD_QC_LAB_ORGN_CODE_REQD');
3872: RAISE FND_API.G_EXC_ERROR;
3873: ELSE
3874: -- Check that QC Lab Orgn Code exist in SY_ORGN_MST
3875: OPEN c_lab_orgn(p_sample.lab_organization_id);
3876: FETCH c_lab_orgn INTO dummy;
3877: IF c_lab_orgn%NOTFOUND THEN
3878: CLOSE c_lab_orgn;
3879: GMD_API_PUB.Log_Message('GMD_QC_LAB_ORGN_CODE_NOT_FOUND',
3880: 'ORGN', p_sample.lab_organization_id);
3881: RAISE FND_API.G_EXC_ERROR;
3882: END IF;
3883: CLOSE c_lab_orgn;
3884: END IF;
3885:
3890: (NOT (p_sample.sample_disposition in ('0RT', '1P')))
3891: ) THEN
3892: -- Now, what is the disposition of this sample?
3893: GMD_API_PUB.Log_Message('GMD_SAMPLE_DISPOSITION_INVALID');
3894: RAISE FND_API.G_EXC_ERROR;
3895: END IF;
3896:
3897: -- Item ID
3898: IF (p_sample.inventory_item_id IS NULL) and
3897: -- Item ID
3898: IF (p_sample.inventory_item_id IS NULL) and
3899: (p_sample.sample_type = 'M' ) THEN
3900: GMD_API_PUB.Log_Message('GMD_SPEC_ITEM_REQD');
3901: RAISE FND_API.G_EXC_ERROR;
3902: ELSE
3903: -- Get the Item No
3904: OPEN c_item(p_sample.inventory_item_id, p_sample.organization_id);
3905: FETCH c_item INTO dummy;
3905: FETCH c_item INTO dummy;
3906: IF c_item%NOTFOUND THEN
3907: CLOSE c_item;
3908: GMD_API_PUB.Log_Message('GMD_SPEC_ITEM_NOT_FOUND');
3909: RAISE FND_API.G_EXC_ERROR;
3910: END IF;
3911: CLOSE c_item;
3912: END IF;
3913:
3922: FETCH c_sampling_event INTO dummy;
3923: IF c_sampling_event%NOTFOUND THEN
3924: CLOSE c_sampling_event;
3925: GMD_API_PUB.Log_Message('GMD_SAMPLING_EVENT_NOT_FOUND');
3926: RAISE FND_API.G_EXC_ERROR;
3927: END IF;
3928: CLOSE c_sampling_event;
3929: END IF;
3930: ** COMMENT END **/
3931:
3932: -- Sample Qty
3933: IF (p_sample.sample_qty IS NULL) THEN
3934: GMD_API_PUB.Log_Message('GMD_SAMPLE_QTY_REQD');
3935: RAISE FND_API.G_EXC_ERROR;
3936: END IF;
3937:
3938: -- Sample UOM
3939: IF (p_sample.sample_qty_uom IS NULL) THEN
3937:
3938: -- Sample UOM
3939: IF (p_sample.sample_qty_uom IS NULL) THEN
3940: GMD_API_PUB.Log_Message('GMD_SAMPLE_UOM_REQD');
3941: RAISE FND_API.G_EXC_ERROR;
3942: END IF;
3943:
3944: -- Lot No
3945: IF (p_sample.lot_number IS NOT NULL) THEN
3949: --Uday Phadtare Bug2982490 changed CLOSE c_whse to CLOSE c_item_lot
3950: CLOSE c_item_lot;
3951: GMD_API_PUB.Log_Message('GMD_ITEM_LOT_NOT_FOUND',
3952: 'LOT_NO', p_sample.lot_number);
3953: RAISE FND_API.G_EXC_ERROR;
3954: END IF;
3955: CLOSE c_item_lot;
3956: END IF;
3957:
3968: IF c_subinventory%NOTFOUND THEN
3969: CLOSE c_subinventory;
3970: GMD_API_PUB.Log_Message('GMD_SPEC_WHSE_NOT_FOUND',
3971: 'WHSE', p_sample.subinventory);
3972: RAISE FND_API.G_EXC_ERROR;
3973: END IF;
3974: CLOSE c_subinventory;
3975: END IF;
3976:
3982: IF c_locator%NOTFOUND THEN
3983: CLOSE c_locator;
3984: GMD_API_PUB.Log_Message('GMD_LOCT_NOT_FOUND',
3985: 'LOCATION', p_sample.locator_id);
3986: RAISE FND_API.G_EXC_ERROR;
3987: END IF;
3988: CLOSE c_locator;
3989: END IF;
3990:
3996:
3997: -- For WIP sample, at least Batch No or Recipe ID is required
3998: IF (p_sample.batch_id IS NULL AND p_sample.recipe_id IS NULL) THEN
3999: GMD_API_PUB.Log_Message('GMD_NO_WIP_PARAM');
4000: RAISE FND_API.G_EXC_ERROR;
4001: END IF;
4002:
4003: -- Batch ID is valid
4004:
4007: FETCH c_batch INTO dummy;
4008: IF c_batch%NOTFOUND THEN
4009: CLOSE c_batch;
4010: GMD_API_PUB.Log_Message('GMD_BATCH_NOT_FOUND');
4011: RAISE FND_API.G_EXC_ERROR;
4012: END IF;
4013: CLOSE c_batch;
4014: END IF;
4015:
4019: FETCH c_recipe_id INTO dummy;
4020: IF c_recipe_id%NOTFOUND THEN
4021: CLOSE c_recipe_id;
4022: GMD_API_PUB.Log_Message('GMD_RECIPE_NOT_FOUND');
4023: RAISE FND_API.G_EXC_ERROR;
4024: END IF;
4025: CLOSE c_recipe_id;
4026: END IF;
4027:
4034: FETCH c_formulaline_id INTO dummy;
4035: IF c_formulaline_id%NOTFOUND THEN
4036: CLOSE c_formulaline_id;
4037: GMD_API_PUB.Log_Message('GMD_FORMULA_LINE_NOT_FOUND');
4038: RAISE FND_API.G_EXC_ERROR;
4039: END IF;
4040: CLOSE c_formulaline_id;
4041: END IF;
4042:
4048: FETCH c_material_detail_id INTO dummy;
4049: IF c_material_detail_id%NOTFOUND THEN
4050: CLOSE c_material_detail_id;
4051: GMD_API_PUB.Log_Message('GMD_MATERIAL_DTL_NOT_FOUND');
4052: RAISE FND_API.G_EXC_ERROR;
4053: END IF;
4054: CLOSE c_material_detail_id;
4055: END IF;
4056:
4061: FETCH c_batchstep INTO dummy;
4062: IF c_batchstep%NOTFOUND THEN
4063: CLOSE c_batchstep;
4064: GMD_API_PUB.Log_Message('GMD_BATCH_STEP_NOT_FOUND');
4065: RAISE FND_API.G_EXC_ERROR;
4066: END IF;
4067: CLOSE c_batchstep;
4068: ELSIF (p_sample.routing_id IS NOT NULL AND p_sample.step_no IS NOT NULL) THEN
4069: -- Step No is from Routing
4071: FETCH c_routingstep INTO dummy;
4072: IF c_routingstep%NOTFOUND THEN
4073: CLOSE c_routingstep;
4074: GMD_API_PUB.Log_Message('GMD_ROUTING_STEP_NOT_FOUND');
4075: RAISE FND_API.G_EXC_ERROR;
4076: END IF;
4077: CLOSE c_routingstep;
4078: END IF;
4079:
4084: FETCH c_oprn INTO dummy;
4085: IF c_oprn%NOTFOUND THEN
4086: CLOSE c_oprn;
4087: GMD_API_PUB.Log_Message('GMD_BATCH_STEP_NOT_FOUND');
4088: RAISE FND_API.G_EXC_ERROR;
4089: END IF;
4090: CLOSE c_oprn;
4091: END IF;
4092:
4098:
4099: -- Customer
4100: IF (p_sample.cust_id IS NULL) THEN
4101: GMD_API_PUB.Log_Message('GMD_CUSTOMER_REQD');
4102: RAISE FND_API.G_EXC_ERROR;
4103: ELSE
4104: OPEN c_cust;
4105: FETCH c_cust INTO dummy;
4106: IF c_cust%NOTFOUND THEN
4105: FETCH c_cust INTO dummy;
4106: IF c_cust%NOTFOUND THEN
4107: CLOSE c_cust;
4108: GMD_API_PUB.Log_Message('GMD_CUSTOMER_NOT_FOUND');
4109: RAISE FND_API.G_EXC_ERROR;
4110: END IF;
4111: CLOSE c_cust;
4112: END IF;
4113:
4117: -- FETCH c_org INTO dummy;
4118: -- IF c_cust%NOTFOUND THEN
4119: -- CLOSE c_org;
4120: -- GMD_API_PUB.Log_Message('GMD_ORG_NOT_FOUND');
4121: -- RAISE FND_API.G_EXC_ERROR;
4122: -- END IF;
4123: -- CLOSE c_org;
4124: --END IF;
4125:
4129: FETCH c_ship_to INTO dummy;
4130: IF c_ship_to%NOTFOUND THEN
4131: CLOSE c_ship_to;
4132: GMD_API_PUB.Log_Message('GMD_SHIP_TO_NOT_FOUND');
4133: RAISE FND_API.G_EXC_ERROR;
4134: END IF;
4135: CLOSE c_ship_to;
4136: END IF;
4137:
4141: FETCH c_order INTO dummy;
4142: IF c_order%NOTFOUND THEN
4143: CLOSE c_order;
4144: GMD_API_PUB.Log_Message('GMD_ORDER_NOT_FOUND');
4145: RAISE FND_API.G_EXC_ERROR;
4146: END IF;
4147: CLOSE c_order;
4148: END IF;
4149:
4153: FETCH c_order_line INTO dummy;
4154: IF c_order_line%NOTFOUND THEN
4155: CLOSE c_order_line;
4156: GMD_API_PUB.Log_Message('GMD_ORDER_LINE_NOT_FOUND');
4157: RAISE FND_API.G_EXC_ERROR;
4158: END IF;
4159: CLOSE c_order_line;
4160: END IF;
4161:
4167:
4168: -- Supplier
4169: IF (p_sample.supplier_id IS NULL) THEN
4170: GMD_API_PUB.Log_Message('GMD_SUPPLIER_REQD');
4171: RAISE FND_API.G_EXC_ERROR;
4172: ELSIF (p_sample.supplier_id IS NOT NULL) THEN
4173: OPEN c_supplier;
4174: FETCH c_supplier INTO dummy;
4175: IF c_supplier%NOTFOUND THEN
4174: FETCH c_supplier INTO dummy;
4175: IF c_supplier%NOTFOUND THEN
4176: CLOSE c_supplier;
4177: GMD_API_PUB.Log_Message('GMD_SUPPLIER_NOT_FOUND');
4178: RAISE FND_API.G_EXC_ERROR;
4179: END IF;
4180: CLOSE c_supplier;
4181: END IF;
4182:
4186: FETCH c_po INTO dummy;
4187: IF c_po%NOTFOUND THEN
4188: CLOSE c_po;
4189: GMD_API_PUB.Log_Message('GMD_PO_NOT_FOUND');
4190: RAISE FND_API.G_EXC_ERROR;
4191: END IF;
4192: CLOSE c_po;
4193: END IF;
4194:
4198: FETCH c_po_line INTO dummy;
4199: IF c_po_line%NOTFOUND THEN
4200: CLOSE c_po_line;
4201: GMD_API_PUB.Log_Message('GMD_PO_LINE_NOT_FOUND');
4202: RAISE FND_API.G_EXC_ERROR;
4203: END IF;
4204: CLOSE c_po_line;
4205: END IF;
4206:
4215: CLOSE get_wms_flag;
4216:
4217: IF l_wms_enabled_flag = 'N' then
4218: GMD_API_PUB.Log_Message('WMS_ONLY_FUNCTIONALITY');
4219: RAISE FND_API.G_EXC_ERROR;
4220: END IF;
4221:
4222: END IF; -- IF (p_sample.lpn_id IS NOT NULL or p_sample.lpn IS NOT NULL ) THEN
4223:
4226: FETCH get_lpn INTO dummy;
4227: IF get_lpn%NOTFOUND THEN
4228: CLOSE get_lpn;
4229: GMD_API_PUB.Log_Message('WMS_LPN_NOT_FOUND');
4230: RAISE FND_API.G_EXC_ERROR;
4231: END IF;
4232: CLOSE get_lpn;
4233: END IF;
4234:
4233: END IF;
4234:
4235:
4236: EXCEPTION
4237: WHEN FND_API.G_EXC_ERROR THEN
4238: x_return_status := FND_API.G_RET_STS_ERROR ;
4239: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4240: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4241: WHEN OTHERS THEN
4234:
4235:
4236: EXCEPTION
4237: WHEN FND_API.G_EXC_ERROR THEN
4238: x_return_status := FND_API.G_RET_STS_ERROR ;
4239: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4240: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4241: WHEN OTHERS THEN
4242: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4235:
4236: EXCEPTION
4237: WHEN FND_API.G_EXC_ERROR THEN
4238: x_return_status := FND_API.G_RET_STS_ERROR ;
4239: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4240: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4241: WHEN OTHERS THEN
4242: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4243:
4236: EXCEPTION
4237: WHEN FND_API.G_EXC_ERROR THEN
4238: x_return_status := FND_API.G_RET_STS_ERROR ;
4239: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4240: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4241: WHEN OTHERS THEN
4242: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4243:
4244: END check_for_null_and_fks_in_smpl;
4238: x_return_status := FND_API.G_RET_STS_ERROR ;
4239: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4240: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4241: WHEN OTHERS THEN
4242: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4243:
4244: END check_for_null_and_fks_in_smpl;
4245:
4246:
4330:
4331: BEGIN
4332:
4333: -- Initialize API return status to success
4334: x_return_status := FND_API.G_RET_STS_SUCCESS;
4335:
4336: -- Get the reason code
4337: GMD_QUALITY_PARAMETERS_GRP.get_quality_parameters(
4338: p_organization_id => p_sample.organization_id
4341: , x_orgn_found => found );
4342:
4343: IF (x_return_status <> 'S') THEN
4344: GMD_API_PUB.Log_Message('GMD_QM_INV_REASON_CODE');
4345: RAISE FND_API.G_EXC_ERROR;
4346: END IF;
4347: l_position := '020' ;
4348:
4349: --IF NOT GMIGUTL.setup(FND_GLOBAL.USER_NAME) THEN
4347: l_position := '020' ;
4348:
4349: --IF NOT GMIGUTL.setup(FND_GLOBAL.USER_NAME) THEN
4350: -- Error Message must have been logged.
4351: -- RAISE FND_API.G_EXC_ERROR;
4352: --END IF;
4353: --l_trans_rec.trans_type := 2; -- adjustment transaction
4354:
4355: l_position := '030' ;
4461: -- 'FROM_UOM',p_sample.sample_qty_uom,
4462: -- 'TO_UOM', l_item_rec.primary_uom_code ,
4463: -- 'ITEM_NO', item_rec.item_number);
4464: --
4465: -- RAISE FND_API.G_EXC_ERROR;
4466: -- END IF;
4467: -- ELSE
4468: -- l_trans_rec.trans_qty2 := NULL ;
4469: -- END IF;
4544: -- commit;
4545: --call transaction manager
4546: processed := INV_TXN_MANAGER_PUB.PROCESS_TRANSACTIONS
4547: (p_api_version => 1.0
4548: ,p_init_msg_list => fnd_api.g_false
4549: ,p_commit => fnd_api.g_false
4550: ,p_validation_level => p_validation_level
4551: ,x_return_status => x_return_status
4552: ,x_msg_count => l_msg_count
4545: --call transaction manager
4546: processed := INV_TXN_MANAGER_PUB.PROCESS_TRANSACTIONS
4547: (p_api_version => 1.0
4548: ,p_init_msg_list => fnd_api.g_false
4549: ,p_commit => fnd_api.g_false
4550: ,p_validation_level => p_validation_level
4551: ,x_return_status => x_return_status
4552: ,x_msg_count => l_msg_count
4553: ,x_msg_data => l_msg_data
4564: -- x_message_count and x_msg_data is already populated
4565: --Bug 12849199 QZENG setup error message
4566: x_message_data := l_msg_data;
4567: x_message_count := l_msg_count;
4568: RAISE FND_API.G_EXC_ERROR;
4569: END IF;
4570:
4571: EXCEPTION
4572: WHEN FND_API.G_EXC_ERROR THEN
4568: RAISE FND_API.G_EXC_ERROR;
4569: END IF;
4570:
4571: EXCEPTION
4572: WHEN FND_API.G_EXC_ERROR THEN
4573: x_return_status := FND_API.G_RET_STS_ERROR ;
4574: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4575: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4576: WHEN OTHERS THEN
4569: END IF;
4570:
4571: EXCEPTION
4572: WHEN FND_API.G_EXC_ERROR THEN
4573: x_return_status := FND_API.G_RET_STS_ERROR ;
4574: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4575: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4576: WHEN OTHERS THEN
4577: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4570:
4571: EXCEPTION
4572: WHEN FND_API.G_EXC_ERROR THEN
4573: x_return_status := FND_API.G_RET_STS_ERROR ;
4574: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4575: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4576: WHEN OTHERS THEN
4577: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4578: 'PACKAGE','CREATE_INV_TXN',
4571: EXCEPTION
4572: WHEN FND_API.G_EXC_ERROR THEN
4573: x_return_status := FND_API.G_RET_STS_ERROR ;
4574: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4575: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4576: WHEN OTHERS THEN
4577: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4578: 'PACKAGE','CREATE_INV_TXN',
4579: 'ERROR', SUBSTR(SQLERRM,1,100),
4577: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4578: 'PACKAGE','CREATE_INV_TXN',
4579: 'ERROR', SUBSTR(SQLERRM,1,100),
4580: 'POSITION',l_position);
4581: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4582:
4583:
4584: END create_inv_txn;
4585:
4697:
4698: BEGIN
4699:
4700: -- Initialize API return status to success
4701: x_return_status := FND_API.G_RET_STS_SUCCESS;
4702:
4703: -- test for batch id, step id and material detail
4704: IF p_sample.batch_id IS NULL THEN
4705: GMD_API_PUB.Log_Message('GMD_INVALID_PARAMETERS');
4702:
4703: -- test for batch id, step id and material detail
4704: IF p_sample.batch_id IS NULL THEN
4705: GMD_API_PUB.Log_Message('GMD_INVALID_PARAMETERS');
4706: RAISE FND_API.G_EXC_ERROR;
4707: END IF;
4708: --srakrish bug 5394566: Commenting the cursors as these have hardcoded values and material_detail_id is directly passed.
4709:
4710: -- Bug# 5629709 uncomment the following since its required to check if the sample item is defined as a byproduct in the batch
4733:
4734: -- Verify that we have the trx_source_line_id (material_detail_id)
4735: IF p_mmti_rec.trx_source_line_id IS NULL THEN
4736: GMD_API_PUB.Log_Message('GMD_MATERIAL_DTL_NOT_FOUND');
4737: RAISE FND_API.G_EXC_ERROR;
4738: END IF;
4739:
4740: OPEN c_item_no (p_sample.inventory_item_id);
4741: FETCH c_item_no INTO l_item_no ,
4774: GMD_API_PUB.Log_Message('FM_SCALE_BAD_UOM_CONV',
4775: 'FROM_UOM',p_sample.sample_qty_uom,
4776: 'TO_UOM',material_detail_item_um,
4777: 'ITEM_NO',l_item_no);
4778: RAISE FND_API.G_EXC_ERROR;
4779: END IF;
4780: END IF;
4781:
4782: -- Get the reason code from the global configurator
4784: FETCH Cur_global_configurator INTO p_mmti_rec.reason_id ;
4785: IF Cur_global_configurator%NOTFOUND THEN
4786: CLOSE Cur_global_configurator;
4787: GMD_API_PUB.Log_Message('GMD_QM_INV_REASON_CODE');
4788: RAISE FND_API.G_EXC_ERROR;
4789: END IF;
4790: CLOSE Cur_global_configurator;
4791:
4792: -- bug# 2995114
4841: GMD_API_PUB.Log_Message('FM_SCALE_BAD_UOM_CONV',
4842: 'FROM_UOM',p_sample.sample_qty_uom,
4843: 'TO_UOM',l_item_um2,
4844: 'ITEM_NO',l_item_no);
4845: RAISE FND_API.G_EXC_ERROR;
4846: END IF;
4847: ELSE
4848: p_mmti_rec.secondary_transaction_quantity := NULL;
4849: END IF;
4850:
4851: IF p_sample.lot_number IS NOT NULL THEN
4852: -- lot exists
4853: p_mmti_rec.source_lot_number := p_sample.lot_number;
4854: p_create_lot := FND_API.G_FALSE; -- FALSE;
4855: temp_lot_no := NULL;
4856: ELSE
4857: -- lot does not exists and needs to be created
4858: p_mmti_rec.source_lot_number := NULL;
4855: temp_lot_no := NULL;
4856: ELSE
4857: -- lot does not exists and needs to be created
4858: p_mmti_rec.source_lot_number := NULL;
4859: p_create_lot := FND_API.G_TRUE; --TRUE;
4860: temp_lot_no := p_sample.lot_number;
4861: END IF; -- test for lot id
4862:
4863: -- Bug 4165704: gme_api_pub.insert_line_allocation replaced by create_material_txns
4894:
4895: GME_API_PUB.create_material_txn(
4896: p_api_version => 2.0
4897: , p_validation_level => p_validation_level
4898: , p_init_msg_list => fnd_api.g_false --FALSE
4899: , p_commit => fnd_api.g_false --FALSE
4900: , x_message_count => x_message_count
4901: , x_message_list => x_message_data
4902: , x_return_status => x_return_status
4895: GME_API_PUB.create_material_txn(
4896: p_api_version => 2.0
4897: , p_validation_level => p_validation_level
4898: , p_init_msg_list => fnd_api.g_false --FALSE
4899: , p_commit => fnd_api.g_false --FALSE
4900: , x_message_count => x_message_count
4901: , x_message_list => x_message_data
4902: , x_return_status => x_return_status
4903: , p_org_code => NULL
4906: , p_batch_no => NULL
4907: , p_line_no => NULL
4908: , p_line_type => NULL
4909: , p_create_lot => p_create_lot -- TRUE
4910: , p_generate_lot => fnd_api.g_false --FALSE
4911: , p_generate_parent_lot => fnd_api.g_false --FALSE
4912: , x_mmt_rec => x_mmt_rec -- contains the newly created transaction
4913: , x_mmln_tbl => x_mmln_tbl ); -- contains info for lot transactions
4914:
4907: , p_line_no => NULL
4908: , p_line_type => NULL
4909: , p_create_lot => p_create_lot -- TRUE
4910: , p_generate_lot => fnd_api.g_false --FALSE
4911: , p_generate_parent_lot => fnd_api.g_false --FALSE
4912: , x_mmt_rec => x_mmt_rec -- contains the newly created transaction
4913: , x_mmln_tbl => x_mmln_tbl ); -- contains info for lot transactions
4914:
4915: IF (X_return_status <> 'S') THEN
4913: , x_mmln_tbl => x_mmln_tbl ); -- contains info for lot transactions
4914:
4915: IF (X_return_status <> 'S') THEN
4916: -- x_message_count and x_message_data is already populated
4917: RAISE FND_API.G_EXC_ERROR;
4918: END IF;
4919: ELSE
4920: -- Bug 3492053: if replenish whse is not there inventory is not generated
4921: GMD_API_PUB.Log_Message('GMD_QM_NO_INVENTORY_TRANS');
4918: END IF;
4919: ELSE
4920: -- Bug 3492053: if replenish whse is not there inventory is not generated
4921: GMD_API_PUB.Log_Message('GMD_QM_NO_INVENTORY_TRANS');
4922: RAISE FND_API.G_EXC_ERROR;
4923: END IF; -- check for replenish whse code
4924:
4925: EXCEPTION
4926: WHEN FND_API.G_EXC_ERROR THEN
4922: RAISE FND_API.G_EXC_ERROR;
4923: END IF; -- check for replenish whse code
4924:
4925: EXCEPTION
4926: WHEN FND_API.G_EXC_ERROR THEN
4927: x_return_status := FND_API.G_RET_STS_ERROR ;
4928: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4929: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4930: WHEN OTHERS THEN
4923: END IF; -- check for replenish whse code
4924:
4925: EXCEPTION
4926: WHEN FND_API.G_EXC_ERROR THEN
4927: x_return_status := FND_API.G_RET_STS_ERROR ;
4928: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4929: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4930: WHEN OTHERS THEN
4931: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4924:
4925: EXCEPTION
4926: WHEN FND_API.G_EXC_ERROR THEN
4927: x_return_status := FND_API.G_RET_STS_ERROR ;
4928: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4929: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4930: WHEN OTHERS THEN
4931: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4932: 'PACKAGE','INVENTORY_TRANS_INSERT',
4925: EXCEPTION
4926: WHEN FND_API.G_EXC_ERROR THEN
4927: x_return_status := FND_API.G_RET_STS_ERROR ;
4928: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4929: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4930: WHEN OTHERS THEN
4931: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4932: 'PACKAGE','INVENTORY_TRANS_INSERT',
4933: 'ERROR', SUBSTR(SQLERRM,1,100));
4930: WHEN OTHERS THEN
4931: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4932: 'PACKAGE','INVENTORY_TRANS_INSERT',
4933: 'ERROR', SUBSTR(SQLERRM,1,100));
4934: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4935:
4936:
4937: END create_wip_txn;
4938:
4968:
4969: BEGIN
4970:
4971: -- Initialize API return status to success
4972: x_return_status := FND_API.G_RET_STS_SUCCESS;
4973:
4974: l_batch_header.batch_id := p_batch_id;
4975:
4976: /* took this code out but must put back gme functionality
4978: p_commit => FALSE,
4979: x_return_status => l_return_status);
4980:
4981: IF (l_return_status <> 'S') THEN
4982: RAISE FND_API.G_EXC_ERROR;
4983: END IF;
4984: */
4985: EXCEPTION
4986: WHEN FND_API.G_EXC_ERROR THEN
4982: RAISE FND_API.G_EXC_ERROR;
4983: END IF;
4984: */
4985: EXCEPTION
4986: WHEN FND_API.G_EXC_ERROR THEN
4987: x_return_status := FND_API.G_RET_STS_ERROR ;
4988: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4989: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4990: WHEN OTHERS THEN
4983: END IF;
4984: */
4985: EXCEPTION
4986: WHEN FND_API.G_EXC_ERROR THEN
4987: x_return_status := FND_API.G_RET_STS_ERROR ;
4988: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4989: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4990: WHEN OTHERS THEN
4991: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4984: */
4985: EXCEPTION
4986: WHEN FND_API.G_EXC_ERROR THEN
4987: x_return_status := FND_API.G_RET_STS_ERROR ;
4988: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4989: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4990: WHEN OTHERS THEN
4991: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4992: 'PACKAGE','POST_WIP_TXN',
4985: EXCEPTION
4986: WHEN FND_API.G_EXC_ERROR THEN
4987: x_return_status := FND_API.G_RET_STS_ERROR ;
4988: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4989: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4990: WHEN OTHERS THEN
4991: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4992: 'PACKAGE','POST_WIP_TXN',
4993: 'ERROR', SUBSTR(SQLERRM,1,100));
4990: WHEN OTHERS THEN
4991: GMD_API_PUB.Log_Message('GMD_API_ERROR',
4992: 'PACKAGE','POST_WIP_TXN',
4993: 'ERROR', SUBSTR(SQLERRM,1,100));
4994: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4995:
4996: END post_wip_txn;
4997:
4998:
5102: result BOOLEAN;
5103:
5104: BEGIN
5105: -- Initialize API return status to success
5106: x_return_status := FND_API.G_RET_STS_SUCCESS;
5107:
5108: IF (l_debug = 'Y') THEN
5109: gmd_debug.put_line('In Procedure update_remaining_qty');
5110: gmd_debug.put_line('Input Parameters=');
5209: GMD_API_PUB.Log_Message('FM_SCALE_BAD_UOM_CONV',
5210: 'FROM_UOM',l_results.test_qty_uom,
5211: 'TO_UOM', l_samples.sample_qty_uom,
5212: 'ITEM_NO',l_samples_item_no);
5213: RAISE FND_API.G_EXC_ERROR;
5214:
5215: -- Bug 3088216: update samples remaining qty
5216: ELSIF converted_qty <= l_samples.remaining_qty THEN
5217:
5228: WHERE sample_id = l_samples.sample_id;
5229:
5230: ELSE
5231: GMD_API_PUB.Log_Message('GMD_QM_REMAIN_QTY_NEG');
5232: RAISE FND_API.G_EXC_ERROR;
5233: END IF; -- Bug 3088216
5234:
5235: ELSE -- samples uom = test uom
5236:
5248: WHERE sample_id = l_samples.sample_id;
5249:
5250: ELSE
5251: GMD_API_PUB.Log_Message('GMD_QM_REMAIN_QTY_NEG');
5252: RAISE FND_API.G_EXC_ERROR;
5253: END IF; -- Bug 3088216
5254:
5255:
5256: END IF;
5255:
5256: END IF;
5257:
5258: EXCEPTION
5259: WHEN FND_API.G_EXC_ERROR THEN
5260: x_return_status := FND_API.G_RET_STS_ERROR ;
5261: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5262: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5263: WHEN RECORD_LOCK THEN -- added to prevent record locking of samples
5256: END IF;
5257:
5258: EXCEPTION
5259: WHEN FND_API.G_EXC_ERROR THEN
5260: x_return_status := FND_API.G_RET_STS_ERROR ;
5261: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5262: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5263: WHEN RECORD_LOCK THEN -- added to prevent record locking of samples
5264: IF (l_debug = 'Y') THEN
5257:
5258: EXCEPTION
5259: WHEN FND_API.G_EXC_ERROR THEN
5260: x_return_status := FND_API.G_RET_STS_ERROR ;
5261: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5262: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5263: WHEN RECORD_LOCK THEN -- added to prevent record locking of samples
5264: IF (l_debug = 'Y') THEN
5265: gmd_debug.put_line('Reached in lock on samples');
5258: EXCEPTION
5259: WHEN FND_API.G_EXC_ERROR THEN
5260: x_return_status := FND_API.G_RET_STS_ERROR ;
5261: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5262: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5263: WHEN RECORD_LOCK THEN -- added to prevent record locking of samples
5264: IF (l_debug = 'Y') THEN
5265: gmd_debug.put_line('Reached in lock on samples');
5266: END IF;
5267: IF C_lock_sample%ISOPEN THEN
5268: CLOSE C_lock_sample;
5269: END IF;
5270: GMD_API_PUB.Log_Message('GMD_QM_SAMPLES_LOCKED'); -- Bug# 5463117
5271: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5272: WHEN OTHERS THEN
5273: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5274:
5275: END update_remaining_qty;
5269: END IF;
5270: GMD_API_PUB.Log_Message('GMD_QM_SAMPLES_LOCKED'); -- Bug# 5463117
5271: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5272: WHEN OTHERS THEN
5273: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5274:
5275: END update_remaining_qty;
5276:
5277:
5349: e_sample_fetch_error EXCEPTION;
5350:
5351: BEGIN
5352: -- Initialize API return status to success
5353: x_return_status := FND_API.G_RET_STS_SUCCESS;
5354:
5355: -- test for whether sample id or sampling event id was passed
5356: IF p_type = 'SAMPLE' THEN -- sample_id is passed
5357: in_sample.sample_id := p_id;
5567: Gmd_samples_grp.resource_source(p_instance_id => out_sampling_event.instance_id
5568: , x_display => x_display);
5569: END IF;
5570: ELSE -- p_type parameter incorrect
5571: x_return_status := FND_API.G_RET_STS_ERROR ;
5572: END IF; -- end p_type = 'SAMPLE'
5573:
5574: /*============================================
5575: BUG#469552
5588: CLOSE get_grade;
5589: END IF;
5590:
5591: EXCEPTION
5592: WHEN FND_API.G_EXC_ERROR OR
5593: e_sampling_event_fetch_error OR
5594: e_sample_fetch_error
5595: THEN
5596: x_return_status := FND_API.G_RET_STS_ERROR ;
5592: WHEN FND_API.G_EXC_ERROR OR
5593: e_sampling_event_fetch_error OR
5594: e_sample_fetch_error
5595: THEN
5596: x_return_status := FND_API.G_RET_STS_ERROR ;
5597: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5598: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5599: WHEN OTHERS THEN
5600: GMD_API_PUB.Log_Message('GMD_API_ERROR',
5593: e_sampling_event_fetch_error OR
5594: e_sample_fetch_error
5595: THEN
5596: x_return_status := FND_API.G_RET_STS_ERROR ;
5597: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5598: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5599: WHEN OTHERS THEN
5600: GMD_API_PUB.Log_Message('GMD_API_ERROR',
5601: 'PACKAGE','SAMPLE_SOURCE_DISPLAY','ERROR', SUBSTR(SQLERRM,1,100));
5594: e_sample_fetch_error
5595: THEN
5596: x_return_status := FND_API.G_RET_STS_ERROR ;
5597: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5598: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5599: WHEN OTHERS THEN
5600: GMD_API_PUB.Log_Message('GMD_API_ERROR',
5601: 'PACKAGE','SAMPLE_SOURCE_DISPLAY','ERROR', SUBSTR(SQLERRM,1,100));
5602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5598: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5599: WHEN OTHERS THEN
5600: GMD_API_PUB.Log_Message('GMD_API_ERROR',
5601: 'PACKAGE','SAMPLE_SOURCE_DISPLAY','ERROR', SUBSTR(SQLERRM,1,100));
5602: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5603: END Sample_source_display ;
5604:
5605:
5606: --+========================================================================+
6301: CLOSE Cur_get_sample_disposition;
6302: END IF;
6303:
6304: EXCEPTION
6305: WHEN FND_API.G_EXC_ERROR THEN
6306: x_return_status := FND_API.G_RET_STS_ERROR ;
6307: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6308: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6309: WHEN OTHERS THEN
6302: END IF;
6303:
6304: EXCEPTION
6305: WHEN FND_API.G_EXC_ERROR THEN
6306: x_return_status := FND_API.G_RET_STS_ERROR ;
6307: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6308: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6309: WHEN OTHERS THEN
6310: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6303:
6304: EXCEPTION
6305: WHEN FND_API.G_EXC_ERROR THEN
6306: x_return_status := FND_API.G_RET_STS_ERROR ;
6307: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6308: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6309: WHEN OTHERS THEN
6310: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6311:
6304: EXCEPTION
6305: WHEN FND_API.G_EXC_ERROR THEN
6306: x_return_status := FND_API.G_RET_STS_ERROR ;
6307: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6308: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6309: WHEN OTHERS THEN
6310: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6311:
6312: END get_sample_spec_disposition;
6306: x_return_status := FND_API.G_RET_STS_ERROR ;
6307: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
6308: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6309: WHEN OTHERS THEN
6310: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
6311:
6312: END get_sample_spec_disposition;
6313:
6314: