1284: e_error_fetch_item EXCEPTION;
1285:
1286: BEGIN
1287: IF (l_debug = 'Y') THEN
1288: gmd_debug.put_line('Entered Procedure VALIDATE SAMPLES');
1289: END IF;
1290:
1291: -- Initialize API return status to success
1292: x_return_status := FND_API.G_RET_STS_SUCCESS;
1312:
1313: -- Perform all other business validations.
1314:
1315: IF (l_debug = 'Y') THEN
1316: gmd_debug.put_line('Starting check for duplicate sample number:');
1317: END IF;
1318:
1319: -- M. Grosser 03-May-2006 Bug 5115015 - Modified procedure validate_sample
1320: -- to not validate sample number when automatic sample number
1349: END IF; -- Not automatic sample no assignment
1350: -- M. Grosser 03-May-2006 Bug 5115015 - End of changes
1351:
1352: IF (l_debug = 'Y') THEN
1353: gmd_debug.put_line('Starting uom conversion:');
1354: END IF;
1355:
1356: -- Sample Quantity UOM must be convertible to Item's UOM
1357: IF p_sample.sample_type = 'I' THEN
1382: to_unit => l_primary_uom_code,
1383: from_name => NULL ,
1384: to_name => NULL) ;
1385: IF (l_debug = 'Y') THEN
1386: gmd_debug.put_line('After uom conversion qty2 ='||l_trans_qty2);
1387: END IF;
1388:
1389: --GMICUOM.icuomcv(pitem_id => l_item_mst.item_id,
1390: -- plot_id => 0,
1401: RAISE FND_API.G_EXC_ERROR;
1402: END;
1403:
1404: IF (l_debug = 'Y') THEN
1405: gmd_debug.put_line('end validate sample');
1406: END IF;
1407: -- All systems GO...
1408:
1409: EXCEPTION
1516:
1517: BEGIN
1518:
1519: IF (l_debug = 'Y') THEN
1520: gmd_debug.put_line('Entered Procedure UPDATE_SAMPLE_COMP_DISP');
1521: END IF;
1522:
1523: -- Initialize API return status to success
1524: x_return_status := FND_API.G_RET_STS_SUCCESS;
1525:
1526: l_position := '010' ;
1527:
1528: IF (l_debug = 'Y') THEN
1529: gmd_debug.put_line('Input Parameters:');
1530: gmd_debug.put_line('Sample ID: ' || p_update_disp_rec.sample_id);
1531: gmd_debug.put_line('Composite Spec Disp ID: ' || p_update_disp_rec.composite_spec_disp_id);
1532: gmd_debug.put_line('Event Spec Disp ID: ' || p_update_disp_rec.event_spec_disp_id);
1533: gmd_debug.put_line('Change Disp From: ' || p_update_disp_rec.curr_disposition);
1526: l_position := '010' ;
1527:
1528: IF (l_debug = 'Y') THEN
1529: gmd_debug.put_line('Input Parameters:');
1530: gmd_debug.put_line('Sample ID: ' || p_update_disp_rec.sample_id);
1531: gmd_debug.put_line('Composite Spec Disp ID: ' || p_update_disp_rec.composite_spec_disp_id);
1532: gmd_debug.put_line('Event Spec Disp ID: ' || p_update_disp_rec.event_spec_disp_id);
1533: gmd_debug.put_line('Change Disp From: ' || p_update_disp_rec.curr_disposition);
1534: gmd_debug.put_line('Change Disp To: ' || p_to_disposition);
1527:
1528: IF (l_debug = 'Y') THEN
1529: gmd_debug.put_line('Input Parameters:');
1530: gmd_debug.put_line('Sample ID: ' || p_update_disp_rec.sample_id);
1531: gmd_debug.put_line('Composite Spec Disp ID: ' || p_update_disp_rec.composite_spec_disp_id);
1532: gmd_debug.put_line('Event Spec Disp ID: ' || p_update_disp_rec.event_spec_disp_id);
1533: gmd_debug.put_line('Change Disp From: ' || p_update_disp_rec.curr_disposition);
1534: gmd_debug.put_line('Change Disp To: ' || p_to_disposition);
1535: END IF;
1528: IF (l_debug = 'Y') THEN
1529: gmd_debug.put_line('Input Parameters:');
1530: gmd_debug.put_line('Sample ID: ' || p_update_disp_rec.sample_id);
1531: gmd_debug.put_line('Composite Spec Disp ID: ' || p_update_disp_rec.composite_spec_disp_id);
1532: gmd_debug.put_line('Event Spec Disp ID: ' || p_update_disp_rec.event_spec_disp_id);
1533: gmd_debug.put_line('Change Disp From: ' || p_update_disp_rec.curr_disposition);
1534: gmd_debug.put_line('Change Disp To: ' || p_to_disposition);
1535: END IF;
1536:
1529: gmd_debug.put_line('Input Parameters:');
1530: gmd_debug.put_line('Sample ID: ' || p_update_disp_rec.sample_id);
1531: gmd_debug.put_line('Composite Spec Disp ID: ' || p_update_disp_rec.composite_spec_disp_id);
1532: gmd_debug.put_line('Event Spec Disp ID: ' || p_update_disp_rec.event_spec_disp_id);
1533: gmd_debug.put_line('Change Disp From: ' || p_update_disp_rec.curr_disposition);
1534: gmd_debug.put_line('Change Disp To: ' || p_to_disposition);
1535: END IF;
1536:
1537: IF (p_update_disp_rec.sample_id IS NULL AND p_update_disp_rec.composite_spec_disp_id IS NULL) OR (p_to_disposition IS NULL) THEN
1530: gmd_debug.put_line('Sample ID: ' || p_update_disp_rec.sample_id);
1531: gmd_debug.put_line('Composite Spec Disp ID: ' || p_update_disp_rec.composite_spec_disp_id);
1532: gmd_debug.put_line('Event Spec Disp ID: ' || p_update_disp_rec.event_spec_disp_id);
1533: gmd_debug.put_line('Change Disp From: ' || p_update_disp_rec.curr_disposition);
1534: gmd_debug.put_line('Change Disp To: ' || p_to_disposition);
1535: END IF;
1536:
1537: IF (p_update_disp_rec.sample_id IS NULL AND p_update_disp_rec.composite_spec_disp_id IS NULL) OR (p_to_disposition IS NULL) THEN
1538: raise REQ_FIELDS_MISSING;
1621: IF l_auto_complete_bstep = 'Y' THEN
1622: p_batch_step_rec.batchstep_id := l_step_id;
1623:
1624: IF (l_debug = 'Y') THEN
1625: gmd_debug.put_line('Before Calling Batch Step Completion API for BATCHSTEP_ID:'||l_step_id);
1626: END IF;
1627: --call the batch step completion API.
1628: GME_API_PUB.complete_step(
1629: p_api_version => 2.0
1643: ,x_exception_material_tbl => l_exception_material_tbl);
1644: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
1645:
1646: IF (l_debug = 'Y') THEN
1647: gmd_debug.put_line('Returned from Batch Step Completion Call');
1648: gmd_debug.put_line('x_return_status = '||xx_return_status);
1649: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1650: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1651: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1644: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
1645:
1646: IF (l_debug = 'Y') THEN
1647: gmd_debug.put_line('Returned from Batch Step Completion Call');
1648: gmd_debug.put_line('x_return_status = '||xx_return_status);
1649: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1650: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1651: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1652: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1645:
1646: IF (l_debug = 'Y') THEN
1647: gmd_debug.put_line('Returned from Batch Step Completion Call');
1648: gmd_debug.put_line('x_return_status = '||xx_return_status);
1649: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1650: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1651: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1652: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1653: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1646: IF (l_debug = 'Y') THEN
1647: gmd_debug.put_line('Returned from Batch Step Completion Call');
1648: gmd_debug.put_line('x_return_status = '||xx_return_status);
1649: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1650: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1651: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1652: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1653: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1654: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1647: gmd_debug.put_line('Returned from Batch Step Completion Call');
1648: gmd_debug.put_line('x_return_status = '||xx_return_status);
1649: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1650: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1651: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1652: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1653: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1654: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1655: END IF;
1648: gmd_debug.put_line('x_return_status = '||xx_return_status);
1649: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1650: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1651: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1652: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1653: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1654: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1655: END IF;
1656: END IF; --l_auto_complete_bstep = 'Y'
1649: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1650: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1651: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1652: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1653: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1654: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1655: END IF;
1656: END IF; --l_auto_complete_bstep = 'Y'
1657: --Bug# 5440347 end
1650: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1651: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1652: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1653: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1654: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1655: END IF;
1656: END IF; --l_auto_complete_bstep = 'Y'
1657: --Bug# 5440347 end
1658:
1775: then only call the gme API to complete the batch step.*/
1776: IF l_auto_complete_bstep = 'Y' THEN
1777: p_batch_step_rec.batchstep_id := l_step_id;
1778: IF (l_debug = 'Y') THEN
1779: gmd_debug.put_line('Before Calling Batch Step Completion API for BATCHSTEP_ID:'||l_step_id);
1780: END IF;
1781: --call the batch step completion API.
1782: GME_API_PUB.complete_step(
1783: p_api_version => 2.0
1796: ,x_batch_step_rec => x_batch_step_rec
1797: ,x_exception_material_tbl => l_exception_material_tbl);
1798: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
1799: IF (l_debug = 'Y') THEN
1800: gmd_debug.put_line('Returned from Batch Step Completion Call');
1801: gmd_debug.put_line('x_return_status = '||xx_return_status);
1802: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1803: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1804: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1797: ,x_exception_material_tbl => l_exception_material_tbl);
1798: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
1799: IF (l_debug = 'Y') THEN
1800: gmd_debug.put_line('Returned from Batch Step Completion Call');
1801: gmd_debug.put_line('x_return_status = '||xx_return_status);
1802: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1803: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1804: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1805: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1798: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
1799: IF (l_debug = 'Y') THEN
1800: gmd_debug.put_line('Returned from Batch Step Completion Call');
1801: gmd_debug.put_line('x_return_status = '||xx_return_status);
1802: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1803: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1804: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1805: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1806: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1799: IF (l_debug = 'Y') THEN
1800: gmd_debug.put_line('Returned from Batch Step Completion Call');
1801: gmd_debug.put_line('x_return_status = '||xx_return_status);
1802: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1803: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1804: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1805: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1806: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1807: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1800: gmd_debug.put_line('Returned from Batch Step Completion Call');
1801: gmd_debug.put_line('x_return_status = '||xx_return_status);
1802: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1803: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1804: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1805: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1806: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1807: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1808: END IF;
1801: gmd_debug.put_line('x_return_status = '||xx_return_status);
1802: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1803: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1804: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1805: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1806: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1807: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1808: END IF;
1809: END IF; --l_auto_complete_bstep = 'Y'
1802: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
1803: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1804: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1805: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1806: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1807: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1808: END IF;
1809: END IF; --l_auto_complete_bstep = 'Y'
1810: ELSIF (p_to_disposition = '6RJ') THEN
1803: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
1804: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
1805: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
1806: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
1807: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
1808: END IF;
1809: END IF; --l_auto_complete_bstep = 'Y'
1810: ELSIF (p_to_disposition = '6RJ') THEN
1811: --changing the quality status of batch step to 'Action Required'
1830: IF p_update_disp_rec.composite_spec_disp_id IS NOT NULL THEN
1831: l_final_event_disp := p_to_disposition ;
1832: ELSE
1833: IF (l_debug = 'Y') THEN
1834: gmd_debug.put_line('l_active_cnt=>'||l_active_cnt);
1835: gmd_debug.put_line('l_req_cnt=>'||l_req_cnt);
1836: gmd_debug.put_line('to_disp=>'||p_to_disposition);
1837: gmd_debug.put_line('curr_event_disp=>'||l_curr_event_disp);
1838: END IF;
1831: l_final_event_disp := p_to_disposition ;
1832: ELSE
1833: IF (l_debug = 'Y') THEN
1834: gmd_debug.put_line('l_active_cnt=>'||l_active_cnt);
1835: gmd_debug.put_line('l_req_cnt=>'||l_req_cnt);
1836: gmd_debug.put_line('to_disp=>'||p_to_disposition);
1837: gmd_debug.put_line('curr_event_disp=>'||l_curr_event_disp);
1838: END IF;
1839:
1832: ELSE
1833: IF (l_debug = 'Y') THEN
1834: gmd_debug.put_line('l_active_cnt=>'||l_active_cnt);
1835: gmd_debug.put_line('l_req_cnt=>'||l_req_cnt);
1836: gmd_debug.put_line('to_disp=>'||p_to_disposition);
1837: gmd_debug.put_line('curr_event_disp=>'||l_curr_event_disp);
1838: END IF;
1839:
1840: -- if there is no active sample,update the event to 'Pending'
1833: IF (l_debug = 'Y') THEN
1834: gmd_debug.put_line('l_active_cnt=>'||l_active_cnt);
1835: gmd_debug.put_line('l_req_cnt=>'||l_req_cnt);
1836: gmd_debug.put_line('to_disp=>'||p_to_disposition);
1837: gmd_debug.put_line('curr_event_disp=>'||l_curr_event_disp);
1838: END IF;
1839:
1840: -- if there is no active sample,update the event to 'Pending'
1841: -- active count can't be negative in real scenario.Just to be on safe side.
1849: RETURN;
1850: END IF;
1851:
1852: IF (l_debug = 'Y') THEN
1853: gmd_debug.put_line('Sampling Event ID: '||l_sampling_event_id);
1854: END IF;
1855:
1856: -- get MAXIMUM sample disposition from all the samples for that event.
1857: SELECT MAX(ssd.disposition) INTO l_max_disposition
1862: AND ssd.delete_mark = 0
1863: AND ssd.disposition NOT IN ('0RT', '7CN');
1864:
1865: IF (l_debug = 'Y') THEN
1866: gmd_debug.put_line('max disp=>'||l_max_disposition);
1867: END IF;
1868:
1869: -- there could be a scenario where one has 2 samples.S1 with disp = '4A'
1870: -- and S2 with disp = 'In progess'.Now user tries to change the disp
1875: ELSE
1876: l_final_event_disp := l_max_disposition;
1877: END IF;
1878: IF (l_debug = 'Y') THEN
1879: gmd_debug.put_line('FInal disp=>'||l_final_event_disp);
1880: END IF;
1881: ELSE
1882: -- either required count > 1 or active count > 1
1883: -- if event is already approved/rejected , don't update the event .
1924: l_final_event_disp := '1P';
1925: END IF;
1926:
1927: IF (l_debug = 'Y') THEN
1928: gmd_debug.put_line('Final disp last =>'||l_final_event_disp);
1929: END IF;
1930:
1931: -- Set the disposition of the Event spec disp
1932: UPDATE gmd_event_spec_disp
2011: FETCH Cur_get_seq INTO l_change_disp_id;
2012: CLOSE Cur_get_seq;
2013:
2014: IF (l_debug = 'Y') THEN
2015: gmd_debug.put_line('In Procedure update_change_disp_table and input parameters = ');
2016: gmd_debug.put_line(' change_disp_id: ' || l_change_disp_id);
2017: gmd_debug.put_line(' organization ID: ' || p_update_change_disp_rec.organization_id);
2018: gmd_debug.put_line(' Sample ID: ' || p_update_change_disp_rec.sample_id);
2019: gmd_debug.put_line(' sampling_event_id : ' || p_update_change_disp_rec.sampling_event_id);
2012: CLOSE Cur_get_seq;
2013:
2014: IF (l_debug = 'Y') THEN
2015: gmd_debug.put_line('In Procedure update_change_disp_table and input parameters = ');
2016: gmd_debug.put_line(' change_disp_id: ' || l_change_disp_id);
2017: gmd_debug.put_line(' organization ID: ' || p_update_change_disp_rec.organization_id);
2018: gmd_debug.put_line(' Sample ID: ' || p_update_change_disp_rec.sample_id);
2019: gmd_debug.put_line(' sampling_event_id : ' || p_update_change_disp_rec.sampling_event_id);
2020: gmd_debug.put_line(' disposition_from : ' || p_update_change_disp_rec.disposition_from);
2013:
2014: IF (l_debug = 'Y') THEN
2015: gmd_debug.put_line('In Procedure update_change_disp_table and input parameters = ');
2016: gmd_debug.put_line(' change_disp_id: ' || l_change_disp_id);
2017: gmd_debug.put_line(' organization ID: ' || p_update_change_disp_rec.organization_id);
2018: gmd_debug.put_line(' Sample ID: ' || p_update_change_disp_rec.sample_id);
2019: gmd_debug.put_line(' sampling_event_id : ' || p_update_change_disp_rec.sampling_event_id);
2020: gmd_debug.put_line(' disposition_from : ' || p_update_change_disp_rec.disposition_from);
2021: gmd_debug.put_line(' disposition_to : ' || p_update_change_disp_rec.disposition_to);
2014: IF (l_debug = 'Y') THEN
2015: gmd_debug.put_line('In Procedure update_change_disp_table and input parameters = ');
2016: gmd_debug.put_line(' change_disp_id: ' || l_change_disp_id);
2017: gmd_debug.put_line(' organization ID: ' || p_update_change_disp_rec.organization_id);
2018: gmd_debug.put_line(' Sample ID: ' || p_update_change_disp_rec.sample_id);
2019: gmd_debug.put_line(' sampling_event_id : ' || p_update_change_disp_rec.sampling_event_id);
2020: gmd_debug.put_line(' disposition_from : ' || p_update_change_disp_rec.disposition_from);
2021: gmd_debug.put_line(' disposition_to : ' || p_update_change_disp_rec.disposition_to);
2022: gmd_debug.put_line(' parent lot number : ' || p_update_change_disp_rec.parent_lot_number);
2015: gmd_debug.put_line('In Procedure update_change_disp_table and input parameters = ');
2016: gmd_debug.put_line(' change_disp_id: ' || l_change_disp_id);
2017: gmd_debug.put_line(' organization ID: ' || p_update_change_disp_rec.organization_id);
2018: gmd_debug.put_line(' Sample ID: ' || p_update_change_disp_rec.sample_id);
2019: gmd_debug.put_line(' sampling_event_id : ' || p_update_change_disp_rec.sampling_event_id);
2020: gmd_debug.put_line(' disposition_from : ' || p_update_change_disp_rec.disposition_from);
2021: gmd_debug.put_line(' disposition_to : ' || p_update_change_disp_rec.disposition_to);
2022: gmd_debug.put_line(' parent lot number : ' || p_update_change_disp_rec.parent_lot_number);
2023: gmd_debug.put_line(' lot number: ' || p_update_change_disp_rec.lot_number);
2016: gmd_debug.put_line(' change_disp_id: ' || l_change_disp_id);
2017: gmd_debug.put_line(' organization ID: ' || p_update_change_disp_rec.organization_id);
2018: gmd_debug.put_line(' Sample ID: ' || p_update_change_disp_rec.sample_id);
2019: gmd_debug.put_line(' sampling_event_id : ' || p_update_change_disp_rec.sampling_event_id);
2020: gmd_debug.put_line(' disposition_from : ' || p_update_change_disp_rec.disposition_from);
2021: gmd_debug.put_line(' disposition_to : ' || p_update_change_disp_rec.disposition_to);
2022: gmd_debug.put_line(' parent lot number : ' || p_update_change_disp_rec.parent_lot_number);
2023: gmd_debug.put_line(' lot number: ' || p_update_change_disp_rec.lot_number);
2024: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.to_lot_status_id);
2017: gmd_debug.put_line(' organization ID: ' || p_update_change_disp_rec.organization_id);
2018: gmd_debug.put_line(' Sample ID: ' || p_update_change_disp_rec.sample_id);
2019: gmd_debug.put_line(' sampling_event_id : ' || p_update_change_disp_rec.sampling_event_id);
2020: gmd_debug.put_line(' disposition_from : ' || p_update_change_disp_rec.disposition_from);
2021: gmd_debug.put_line(' disposition_to : ' || p_update_change_disp_rec.disposition_to);
2022: gmd_debug.put_line(' parent lot number : ' || p_update_change_disp_rec.parent_lot_number);
2023: gmd_debug.put_line(' lot number: ' || p_update_change_disp_rec.lot_number);
2024: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.to_lot_status_id);
2025: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.from_lot_status_id);
2018: gmd_debug.put_line(' Sample ID: ' || p_update_change_disp_rec.sample_id);
2019: gmd_debug.put_line(' sampling_event_id : ' || p_update_change_disp_rec.sampling_event_id);
2020: gmd_debug.put_line(' disposition_from : ' || p_update_change_disp_rec.disposition_from);
2021: gmd_debug.put_line(' disposition_to : ' || p_update_change_disp_rec.disposition_to);
2022: gmd_debug.put_line(' parent lot number : ' || p_update_change_disp_rec.parent_lot_number);
2023: gmd_debug.put_line(' lot number: ' || p_update_change_disp_rec.lot_number);
2024: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.to_lot_status_id);
2025: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.from_lot_status_id);
2026: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.to_grade_code);
2019: gmd_debug.put_line(' sampling_event_id : ' || p_update_change_disp_rec.sampling_event_id);
2020: gmd_debug.put_line(' disposition_from : ' || p_update_change_disp_rec.disposition_from);
2021: gmd_debug.put_line(' disposition_to : ' || p_update_change_disp_rec.disposition_to);
2022: gmd_debug.put_line(' parent lot number : ' || p_update_change_disp_rec.parent_lot_number);
2023: gmd_debug.put_line(' lot number: ' || p_update_change_disp_rec.lot_number);
2024: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.to_lot_status_id);
2025: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.from_lot_status_id);
2026: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.to_grade_code);
2027: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.from_grade_code);
2020: gmd_debug.put_line(' disposition_from : ' || p_update_change_disp_rec.disposition_from);
2021: gmd_debug.put_line(' disposition_to : ' || p_update_change_disp_rec.disposition_to);
2022: gmd_debug.put_line(' parent lot number : ' || p_update_change_disp_rec.parent_lot_number);
2023: gmd_debug.put_line(' lot number: ' || p_update_change_disp_rec.lot_number);
2024: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.to_lot_status_id);
2025: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.from_lot_status_id);
2026: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.to_grade_code);
2027: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.from_grade_code);
2028: gmd_debug.put_line(' hold date: ' || p_update_change_disp_rec.hold_date);
2021: gmd_debug.put_line(' disposition_to : ' || p_update_change_disp_rec.disposition_to);
2022: gmd_debug.put_line(' parent lot number : ' || p_update_change_disp_rec.parent_lot_number);
2023: gmd_debug.put_line(' lot number: ' || p_update_change_disp_rec.lot_number);
2024: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.to_lot_status_id);
2025: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.from_lot_status_id);
2026: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.to_grade_code);
2027: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.from_grade_code);
2028: gmd_debug.put_line(' hold date: ' || p_update_change_disp_rec.hold_date);
2029: gmd_debug.put_line(' reason id : ' || p_update_change_disp_rec.reason_id);
2022: gmd_debug.put_line(' parent lot number : ' || p_update_change_disp_rec.parent_lot_number);
2023: gmd_debug.put_line(' lot number: ' || p_update_change_disp_rec.lot_number);
2024: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.to_lot_status_id);
2025: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.from_lot_status_id);
2026: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.to_grade_code);
2027: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.from_grade_code);
2028: gmd_debug.put_line(' hold date: ' || p_update_change_disp_rec.hold_date);
2029: gmd_debug.put_line(' reason id : ' || p_update_change_disp_rec.reason_id);
2030: END IF;
2023: gmd_debug.put_line(' lot number: ' || p_update_change_disp_rec.lot_number);
2024: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.to_lot_status_id);
2025: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.from_lot_status_id);
2026: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.to_grade_code);
2027: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.from_grade_code);
2028: gmd_debug.put_line(' hold date: ' || p_update_change_disp_rec.hold_date);
2029: gmd_debug.put_line(' reason id : ' || p_update_change_disp_rec.reason_id);
2030: END IF;
2031:
2024: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.to_lot_status_id);
2025: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.from_lot_status_id);
2026: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.to_grade_code);
2027: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.from_grade_code);
2028: gmd_debug.put_line(' hold date: ' || p_update_change_disp_rec.hold_date);
2029: gmd_debug.put_line(' reason id : ' || p_update_change_disp_rec.reason_id);
2030: END IF;
2031:
2032: INSERT INTO GMD_CHANGE_DISPOSITION
2025: gmd_debug.put_line(' lot status id: ' || p_update_change_disp_rec.from_lot_status_id);
2026: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.to_grade_code);
2027: gmd_debug.put_line(' grade code: ' || p_update_change_disp_rec.from_grade_code);
2028: gmd_debug.put_line(' hold date: ' || p_update_change_disp_rec.hold_date);
2029: gmd_debug.put_line(' reason id : ' || p_update_change_disp_rec.reason_id);
2030: END IF;
2031:
2032: INSERT INTO GMD_CHANGE_DISPOSITION
2033: (
2855: IF l_auto_complete_bstep = 'Y' THEN
2856: p_batch_step_rec.batchstep_id := l_bstep_id;
2857:
2858: IF (l_debug = 'Y') THEN
2859: gmd_debug.put_line('Before Calling Batch Step Completion API for BATCHSTEP_ID:'||l_bstep_id);
2860: END IF;
2861:
2862: --call the batch step completion API.
2863: GME_API_PUB.complete_step(
2878: ,x_exception_material_tbl => l_exception_material_tbl);
2879: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
2880:
2881: IF (l_debug = 'Y') THEN
2882: gmd_debug.put_line('Returned from Batch Step Completion Call');
2883: gmd_debug.put_line('x_return_status = '||xx_return_status);
2884: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
2885: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
2886: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
2879: --After returning from the API we are not handling any exceptions. Any exceptions will be written in the Debug Log
2880:
2881: IF (l_debug = 'Y') THEN
2882: gmd_debug.put_line('Returned from Batch Step Completion Call');
2883: gmd_debug.put_line('x_return_status = '||xx_return_status);
2884: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
2885: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
2886: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
2887: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
2880:
2881: IF (l_debug = 'Y') THEN
2882: gmd_debug.put_line('Returned from Batch Step Completion Call');
2883: gmd_debug.put_line('x_return_status = '||xx_return_status);
2884: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
2885: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
2886: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
2887: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
2888: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
2881: IF (l_debug = 'Y') THEN
2882: gmd_debug.put_line('Returned from Batch Step Completion Call');
2883: gmd_debug.put_line('x_return_status = '||xx_return_status);
2884: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
2885: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
2886: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
2887: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
2888: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
2889: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
2882: gmd_debug.put_line('Returned from Batch Step Completion Call');
2883: gmd_debug.put_line('x_return_status = '||xx_return_status);
2884: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
2885: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
2886: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
2887: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
2888: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
2889: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
2890: END IF;
2883: gmd_debug.put_line('x_return_status = '||xx_return_status);
2884: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
2885: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
2886: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
2887: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
2888: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
2889: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
2890: END IF;
2891:
2884: gmd_debug.put_line('x_batch_step_rec.batch_id = '||TO_CHAR(x_batch_step_rec.batch_id));
2885: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
2886: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
2887: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
2888: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
2889: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
2890: END IF;
2891:
2892: END IF; --l_auto_complete_bstep = 'Y'
2885: gmd_debug.put_line('x_batch_step_rec.batchstep_id = '||TO_CHAR(x_batch_step_rec.batchstep_id));
2886: gmd_debug.put_line('x_batch_step_rec.batchstep_no = '||TO_CHAR(x_batch_step_rec.batchstep_no));
2887: gmd_debug.put_line('x_batch_step_rec.actual_start_date = '||TO_CHAR(x_batch_step_rec.actual_start_date,'DD-MON-YYYY HH24:MI:SS'));
2888: gmd_debug.put_line('x_batch_step_rec.actual_cmplt_date = '||TO_CHAR(x_batch_step_rec.actual_cmplt_date,'DD-MON-YYYY HH24:MI:SS'));
2889: gmd_debug.put_line('x_batch_step_rec.step_status = '||TO_CHAR(x_batch_step_rec.step_status));
2890: END IF;
2891:
2892: END IF; --l_auto_complete_bstep = 'Y'
2893: -- Bug# 5440347 end
3725: FETCH Cur_get_seq INTO p_header_id;
3726: CLOSE Cur_get_seq;
3727:
3728: IF (l_debug = 'Y') THEN
3729: gmd_debug.put_line('In Procedure create_inv_txn');
3730: gmd_debug.put_line('Input to mtl_transaction_lots_interface table=');
3731: gmd_debug.put_line(' transaction interface ID: ' || p_transaction_interface_id);
3732: gmd_debug.put_line(' header ID: ' || p_header_id);
3733: gmd_debug.put_line(' Sample ID: ' || p_sample.sample_id);
3726: CLOSE Cur_get_seq;
3727:
3728: IF (l_debug = 'Y') THEN
3729: gmd_debug.put_line('In Procedure create_inv_txn');
3730: gmd_debug.put_line('Input to mtl_transaction_lots_interface table=');
3731: gmd_debug.put_line(' transaction interface ID: ' || p_transaction_interface_id);
3732: gmd_debug.put_line(' header ID: ' || p_header_id);
3733: gmd_debug.put_line(' Sample ID: ' || p_sample.sample_id);
3734: gmd_debug.put_line(' user name : ' || p_user_name);
3727:
3728: IF (l_debug = 'Y') THEN
3729: gmd_debug.put_line('In Procedure create_inv_txn');
3730: gmd_debug.put_line('Input to mtl_transaction_lots_interface table=');
3731: gmd_debug.put_line(' transaction interface ID: ' || p_transaction_interface_id);
3732: gmd_debug.put_line(' header ID: ' || p_header_id);
3733: gmd_debug.put_line(' Sample ID: ' || p_sample.sample_id);
3734: gmd_debug.put_line(' user name : ' || p_user_name);
3735: gmd_debug.put_line(' date : ' || p_sample.date_drawn);
3728: IF (l_debug = 'Y') THEN
3729: gmd_debug.put_line('In Procedure create_inv_txn');
3730: gmd_debug.put_line('Input to mtl_transaction_lots_interface table=');
3731: gmd_debug.put_line(' transaction interface ID: ' || p_transaction_interface_id);
3732: gmd_debug.put_line(' header ID: ' || p_header_id);
3733: gmd_debug.put_line(' Sample ID: ' || p_sample.sample_id);
3734: gmd_debug.put_line(' user name : ' || p_user_name);
3735: gmd_debug.put_line(' date : ' || p_sample.date_drawn);
3736: gmd_debug.put_line(' qty : ' || -1*p_sample.sample_qty);
3729: gmd_debug.put_line('In Procedure create_inv_txn');
3730: gmd_debug.put_line('Input to mtl_transaction_lots_interface table=');
3731: gmd_debug.put_line(' transaction interface ID: ' || p_transaction_interface_id);
3732: gmd_debug.put_line(' header ID: ' || p_header_id);
3733: gmd_debug.put_line(' Sample ID: ' || p_sample.sample_id);
3734: gmd_debug.put_line(' user name : ' || p_user_name);
3735: gmd_debug.put_line(' date : ' || p_sample.date_drawn);
3736: gmd_debug.put_line(' qty : ' || -1*p_sample.sample_qty);
3737: gmd_debug.put_line(' lot : ' || p_sample.lot_number);
3730: gmd_debug.put_line('Input to mtl_transaction_lots_interface table=');
3731: gmd_debug.put_line(' transaction interface ID: ' || p_transaction_interface_id);
3732: gmd_debug.put_line(' header ID: ' || p_header_id);
3733: gmd_debug.put_line(' Sample ID: ' || p_sample.sample_id);
3734: gmd_debug.put_line(' user name : ' || p_user_name);
3735: gmd_debug.put_line(' date : ' || p_sample.date_drawn);
3736: gmd_debug.put_line(' qty : ' || -1*p_sample.sample_qty);
3737: gmd_debug.put_line(' lot : ' || p_sample.lot_number);
3738: gmd_debug.put_line(' reason id : ' || quality_config.transaction_reason_id);
3731: gmd_debug.put_line(' transaction interface ID: ' || p_transaction_interface_id);
3732: gmd_debug.put_line(' header ID: ' || p_header_id);
3733: gmd_debug.put_line(' Sample ID: ' || p_sample.sample_id);
3734: gmd_debug.put_line(' user name : ' || p_user_name);
3735: gmd_debug.put_line(' date : ' || p_sample.date_drawn);
3736: gmd_debug.put_line(' qty : ' || -1*p_sample.sample_qty);
3737: gmd_debug.put_line(' lot : ' || p_sample.lot_number);
3738: gmd_debug.put_line(' reason id : ' || quality_config.transaction_reason_id);
3739: END IF;
3732: gmd_debug.put_line(' header ID: ' || p_header_id);
3733: gmd_debug.put_line(' Sample ID: ' || p_sample.sample_id);
3734: gmd_debug.put_line(' user name : ' || p_user_name);
3735: gmd_debug.put_line(' date : ' || p_sample.date_drawn);
3736: gmd_debug.put_line(' qty : ' || -1*p_sample.sample_qty);
3737: gmd_debug.put_line(' lot : ' || p_sample.lot_number);
3738: gmd_debug.put_line(' reason id : ' || quality_config.transaction_reason_id);
3739: END IF;
3740:
3733: gmd_debug.put_line(' Sample ID: ' || p_sample.sample_id);
3734: gmd_debug.put_line(' user name : ' || p_user_name);
3735: gmd_debug.put_line(' date : ' || p_sample.date_drawn);
3736: gmd_debug.put_line(' qty : ' || -1*p_sample.sample_qty);
3737: gmd_debug.put_line(' lot : ' || p_sample.lot_number);
3738: gmd_debug.put_line(' reason id : ' || quality_config.transaction_reason_id);
3739: END IF;
3740:
3741: l_position := '040' ;
3734: gmd_debug.put_line(' user name : ' || p_user_name);
3735: gmd_debug.put_line(' date : ' || p_sample.date_drawn);
3736: gmd_debug.put_line(' qty : ' || -1*p_sample.sample_qty);
3737: gmd_debug.put_line(' lot : ' || p_sample.lot_number);
3738: gmd_debug.put_line(' reason id : ' || quality_config.transaction_reason_id);
3739: END IF;
3740:
3741: l_position := '040' ;
3742:
3794: l_locator_id := p_sample.locator_id ;
3795: END IF;
3796:
3797: IF (l_debug = 'Y') THEN
3798: gmd_debug.put_line('after insert into lot table:');
3799: gmd_debug.put_line(' subinventory = '||l_subinventory);
3800: gmd_debug.put_line(' locator id = '||l_locator_id);
3801: gmd_debug.put_line(' sample source = '||p_sample.source);
3802: END IF;
3795: END IF;
3796:
3797: IF (l_debug = 'Y') THEN
3798: gmd_debug.put_line('after insert into lot table:');
3799: gmd_debug.put_line(' subinventory = '||l_subinventory);
3800: gmd_debug.put_line(' locator id = '||l_locator_id);
3801: gmd_debug.put_line(' sample source = '||p_sample.source);
3802: END IF;
3803:
3796:
3797: IF (l_debug = 'Y') THEN
3798: gmd_debug.put_line('after insert into lot table:');
3799: gmd_debug.put_line(' subinventory = '||l_subinventory);
3800: gmd_debug.put_line(' locator id = '||l_locator_id);
3801: gmd_debug.put_line(' sample source = '||p_sample.source);
3802: END IF;
3803:
3804: -- Bug 4165704: uom convergence not needed after inventory convergence
3797: IF (l_debug = 'Y') THEN
3798: gmd_debug.put_line('after insert into lot table:');
3799: gmd_debug.put_line(' subinventory = '||l_subinventory);
3800: gmd_debug.put_line(' locator id = '||l_locator_id);
3801: gmd_debug.put_line(' sample source = '||p_sample.source);
3802: END IF;
3803:
3804: -- Bug 4165704: uom convergence not needed after inventory convergence
3805: -- l_item_rec.inventory_item_id := p_sample.inventory_item_id;
3893:
3894: l_position := '070' ;
3895:
3896: IF (l_debug = 'Y') THEN
3897: gmd_debug.put_line('after insert into transaction table:');
3898: END IF;
3899:
3900: --gml_sf_log('b4 call to process transactions and header id ='|| p_header_id);
3901: -- only to test error_code in mtl_transactions_interface uncomment the following commit
3914: ,p_header_id => p_header_id); -- foreign key to MTI, can be null
3915:
3916: --gml_sf_log('after call and return value='||processed||' and status='||x_return_status);
3917: IF (l_debug = 'Y') THEN
3918: gmd_debug.put_line('after INV_TXN_MANAGER_PUB.PROCESS_TRANSACTIONS status ='||processed);
3919: END IF;
3920:
3921: IF processed < 0 THEN
3922: -- x_message_count and x_msg_data is already populated
4121: to_unit => l_primary_uom_code,
4122: from_name => NULL ,
4123: to_name => NULL) ;
4124: IF (l_debug = 'Y') THEN
4125: gmd_debug.put_line('After uom conversion qty2 ='|| p_mmti_rec.transaction_quantity);
4126: END IF;
4127:
4128: IF (p_mmti_rec.transaction_quantity< 0 ) THEN
4129: GMD_API_PUB.Log_Message('FM_SCALE_BAD_UOM_CONV',
4460: -- Initialize API return status to success
4461: x_return_status := FND_API.G_RET_STS_SUCCESS;
4462:
4463: IF (l_debug = 'Y') THEN
4464: gmd_debug.put_line('In Procedure update_remaining_qty');
4465: gmd_debug.put_line('Input Parameters=');
4466: gmd_debug.put_line(' Result ID: ' || p_result_id);
4467: gmd_debug.put_line(' Sample ID: ' || p_sample_id);
4468: gmd_debug.put_line(' Quantity : ' || qty);
4461: x_return_status := FND_API.G_RET_STS_SUCCESS;
4462:
4463: IF (l_debug = 'Y') THEN
4464: gmd_debug.put_line('In Procedure update_remaining_qty');
4465: gmd_debug.put_line('Input Parameters=');
4466: gmd_debug.put_line(' Result ID: ' || p_result_id);
4467: gmd_debug.put_line(' Sample ID: ' || p_sample_id);
4468: gmd_debug.put_line(' Quantity : ' || qty);
4469: END IF;
4462:
4463: IF (l_debug = 'Y') THEN
4464: gmd_debug.put_line('In Procedure update_remaining_qty');
4465: gmd_debug.put_line('Input Parameters=');
4466: gmd_debug.put_line(' Result ID: ' || p_result_id);
4467: gmd_debug.put_line(' Sample ID: ' || p_sample_id);
4468: gmd_debug.put_line(' Quantity : ' || qty);
4469: END IF;
4470:
4463: IF (l_debug = 'Y') THEN
4464: gmd_debug.put_line('In Procedure update_remaining_qty');
4465: gmd_debug.put_line('Input Parameters=');
4466: gmd_debug.put_line(' Result ID: ' || p_result_id);
4467: gmd_debug.put_line(' Sample ID: ' || p_sample_id);
4468: gmd_debug.put_line(' Quantity : ' || qty);
4469: END IF;
4470:
4471: -- Get the results record
4464: gmd_debug.put_line('In Procedure update_remaining_qty');
4465: gmd_debug.put_line('Input Parameters=');
4466: gmd_debug.put_line(' Result ID: ' || p_result_id);
4467: gmd_debug.put_line(' Sample ID: ' || p_sample_id);
4468: gmd_debug.put_line(' Quantity : ' || qty);
4469: END IF;
4470:
4471: -- Get the results record
4472: l_in_results.result_id := p_result_id;
4474: p_results => l_in_results,
4475: x_results => l_results);
4476:
4477: IF (l_debug = 'Y') THEN
4478: gmd_debug.put_line('after fetch row from result');
4479: END IF;
4480:
4481: -- If sample_id is specified use it. If not, get sample_id from result
4482: IF (p_sample_id > 0) THEN
4481: -- If sample_id is specified use it. If not, get sample_id from result
4482: IF (p_sample_id > 0) THEN
4483:
4484: IF (l_debug = 'Y') THEN
4485: gmd_debug.put_line('1');
4486: END IF;
4487:
4488: l_in_samples.sample_id := p_sample_id;
4489: ELSE
4488: l_in_samples.sample_id := p_sample_id;
4489: ELSE
4490:
4491: IF (l_debug = 'Y') THEN
4492: gmd_debug.put_line('2');
4493: END IF;
4494:
4495: -- Get the sample id from the results record
4496: IF (l_results.reserve_sample_id IS NULL) THEN
4500: END IF;
4501: END IF;
4502:
4503: IF (l_debug = 'Y') THEN
4504: gmd_debug.put_line('sample id changed to: ');
4505: gmd_debug.put_line(' Sample ID: ' || l_in_samples.sample_id);
4506: END IF;
4507:
4508: result := GMD_SAMPLES_PVT.fetch_row(
4501: END IF;
4502:
4503: IF (l_debug = 'Y') THEN
4504: gmd_debug.put_line('sample id changed to: ');
4505: gmd_debug.put_line(' Sample ID: ' || l_in_samples.sample_id);
4506: END IF;
4507:
4508: result := GMD_SAMPLES_PVT.fetch_row(
4509: p_samples => l_in_samples,
4509: p_samples => l_in_samples,
4510: x_samples => l_samples);
4511:
4512: IF (l_debug = 'Y') THEN
4513: gmd_debug.put_line('quantities = ');
4514: gmd_debug.put_line(' Sample qty: ' || l_samples.sample_qty);
4515: gmd_debug.put_line(' Remaining qty: ' || l_samples.remaining_qty);
4516: gmd_debug.put_line(' other qty: ' || qty);
4517: gmd_debug.put_line('result uom: '||l_results.test_qty_uom);
4510: x_samples => l_samples);
4511:
4512: IF (l_debug = 'Y') THEN
4513: gmd_debug.put_line('quantities = ');
4514: gmd_debug.put_line(' Sample qty: ' || l_samples.sample_qty);
4515: gmd_debug.put_line(' Remaining qty: ' || l_samples.remaining_qty);
4516: gmd_debug.put_line(' other qty: ' || qty);
4517: gmd_debug.put_line('result uom: '||l_results.test_qty_uom);
4518: gmd_debug.put_line('sample uom: '||l_samples.sample_qty_uom);
4511:
4512: IF (l_debug = 'Y') THEN
4513: gmd_debug.put_line('quantities = ');
4514: gmd_debug.put_line(' Sample qty: ' || l_samples.sample_qty);
4515: gmd_debug.put_line(' Remaining qty: ' || l_samples.remaining_qty);
4516: gmd_debug.put_line(' other qty: ' || qty);
4517: gmd_debug.put_line('result uom: '||l_results.test_qty_uom);
4518: gmd_debug.put_line('sample uom: '||l_samples.sample_qty_uom);
4519: END IF;
4512: IF (l_debug = 'Y') THEN
4513: gmd_debug.put_line('quantities = ');
4514: gmd_debug.put_line(' Sample qty: ' || l_samples.sample_qty);
4515: gmd_debug.put_line(' Remaining qty: ' || l_samples.remaining_qty);
4516: gmd_debug.put_line(' other qty: ' || qty);
4517: gmd_debug.put_line('result uom: '||l_results.test_qty_uom);
4518: gmd_debug.put_line('sample uom: '||l_samples.sample_qty_uom);
4519: END IF;
4520:
4513: gmd_debug.put_line('quantities = ');
4514: gmd_debug.put_line(' Sample qty: ' || l_samples.sample_qty);
4515: gmd_debug.put_line(' Remaining qty: ' || l_samples.remaining_qty);
4516: gmd_debug.put_line(' other qty: ' || qty);
4517: gmd_debug.put_line('result uom: '||l_results.test_qty_uom);
4518: gmd_debug.put_line('sample uom: '||l_samples.sample_qty_uom);
4519: END IF;
4520:
4521:
4514: gmd_debug.put_line(' Sample qty: ' || l_samples.sample_qty);
4515: gmd_debug.put_line(' Remaining qty: ' || l_samples.remaining_qty);
4516: gmd_debug.put_line(' other qty: ' || qty);
4517: gmd_debug.put_line('result uom: '||l_results.test_qty_uom);
4518: gmd_debug.put_line('sample uom: '||l_samples.sample_qty_uom);
4519: END IF;
4520:
4521:
4522: -- Bug 3251084: if sample_qty or test_qty are null, then no need
4550: from_name => NULL,
4551: to_name => NULL);
4552:
4553: IF (l_debug = 'Y') THEN
4554: gmd_debug.put_line('after conversion : ');
4555: gmd_debug.put_line('converted qty : '|| converted_qty);
4556: END IF;
4557:
4558: IF (converted_qty < 0 ) THEN
4551: to_name => NULL);
4552:
4553: IF (l_debug = 'Y') THEN
4554: gmd_debug.put_line('after conversion : ');
4555: gmd_debug.put_line('converted qty : '|| converted_qty);
4556: END IF;
4557:
4558: IF (converted_qty < 0 ) THEN
4559:
4570: -- Bug 3088216: update samples remaining qty
4571: ELSIF converted_qty <= l_samples.remaining_qty THEN
4572:
4573: IF (l_debug = 'Y') THEN
4574: gmd_debug.put_line('before update : ');
4575: END IF;
4576:
4577: -- added this code to prevent locking error if sample is locked by another form.
4578: OPEN C_lock_sample(l_samples.sample_id);
4589:
4590: ELSE -- samples uom = test uom
4591:
4592: IF (l_debug = 'Y') THEN
4593: gmd_debug.put_line(' samples uom = test uom : ');
4594: END IF;
4595:
4596: IF qty <= l_samples.remaining_qty THEN
4597: -- added this code to prevent locking error if sample is locked by another form.
4616: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4617: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4618: WHEN RECORD_LOCK THEN -- added to prevent record locking of samples
4619: IF (l_debug = 'Y') THEN
4620: gmd_debug.put_line('Reached in lock on samples');
4621: END IF;
4622: IF C_lock_sample%ISOPEN THEN
4623: CLOSE C_lock_sample;
4624: END IF;