33: -- End of Comments --
34:
35: PROCEDURE get_disposition_list(
36: p_api_version IN NUMBER := 1.0,
37: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
38: --p_commit IN VARCHAR2 := FND_API.G_FALSE,
39: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
40: x_return_status OUT NOCOPY VARCHAR2,
41: x_msg_count OUT NOCOPY NUMBER,
34:
35: PROCEDURE get_disposition_list(
36: p_api_version IN NUMBER := 1.0,
37: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
38: --p_commit IN VARCHAR2 := FND_API.G_FALSE,
39: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
40: x_return_status OUT NOCOPY VARCHAR2,
41: x_msg_count OUT NOCOPY NUMBER,
42: x_msg_data OUT NOCOPY VARCHAR2,
35: PROCEDURE get_disposition_list(
36: p_api_version IN NUMBER := 1.0,
37: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
38: --p_commit IN VARCHAR2 := FND_API.G_FALSE,
39: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
40: x_return_status OUT NOCOPY VARCHAR2,
41: x_msg_count OUT NOCOPY NUMBER,
42: x_msg_data OUT NOCOPY VARCHAR2,
43: p_workorder_id IN NUMBER,
203: l_conditions AHL_OSP_UTIL_PKG.ahl_conditions_tbl;
204:
205: BEGIN
206: --Initialize API return status to success
207: x_return_status := FND_API.G_RET_STS_SUCCESS;
208:
209: --Standard Start of API savepoint
210: SAVEPOINT get_disposition_list;
211:
209: --Standard Start of API savepoint
210: SAVEPOINT get_disposition_list;
211:
212: --Standard call to check for call compatibility.
213: IF NOT FND_API.compatible_api_call(
214: l_api_version,
215: p_api_version,
216: l_api_name,
217: G_PKG_NAME)
215: p_api_version,
216: l_api_name,
217: G_PKG_NAME)
218: THEN
219: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
220: END IF;
221:
222: --Initialize message list if p_init_msg_list is set to TRUE.
223: IF FND_API.to_boolean( p_init_msg_list ) THEN
219: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
220: END IF;
221:
222: --Initialize message list if p_init_msg_list is set to TRUE.
223: IF FND_API.to_boolean( p_init_msg_list ) THEN
224: FND_MSG_PUB.initialize;
225: END IF;
226:
227: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
237: IF get_job_attrs%NOTFOUND THEN
238: FND_MESSAGE.set_name('AHL', 'AHL_PRD_DISP_JOB_ID_INVALID');
239: FND_MESSAGE.set_token('JOBID', p_workorder_id);
240: FND_MSG_PUB.add;
241: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
242: CLOSE get_job_attrs;
243: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
244: ELSE
245: CLOSE get_job_attrs;
239: FND_MESSAGE.set_token('JOBID', p_workorder_id);
240: FND_MSG_PUB.add;
241: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
242: CLOSE get_job_attrs;
243: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
244: ELSE
245: CLOSE get_job_attrs;
246: END IF;
247:
272: IF check_inv_item_id%NOTFOUND THEN
273: FND_MESSAGE.set_name('AHL', 'AHL_PRD_ITEM_ID_INVALID');
274: FND_MESSAGE.set_token('ITEMID', p_disp_filter_rec.inventory_item_id);
275: FND_MSG_PUB.add;
276: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
277: CLOSE check_inv_item_id;
278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
279: ELSE
280: CLOSE check_inv_item_id;
274: FND_MESSAGE.set_token('ITEMID', p_disp_filter_rec.inventory_item_id);
275: FND_MSG_PUB.add;
276: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
277: CLOSE check_inv_item_id;
278: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
279: ELSE
280: CLOSE check_inv_item_id;
281: END IF;
282: ELSIF (p_disp_filter_rec.inventory_item_id IS NULL AND
287: IF get_inv_item_id%NOTFOUND THEN
288: FND_MESSAGE.set_name('AHL', 'AHL_PRD_ITEM_NUM_INVALID');
289: FND_MESSAGE.set_token('ITEM', p_disp_filter_rec.item_number);
290: FND_MSG_PUB.add;
291: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
292: CLOSE get_inv_item_id;
293: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
294: ELSE
295: CLOSE get_inv_item_id;
289: FND_MESSAGE.set_token('ITEM', p_disp_filter_rec.item_number);
290: FND_MSG_PUB.add;
291: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
292: CLOSE get_inv_item_id;
293: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
294: ELSE
295: CLOSE get_inv_item_id;
296: END IF;
297: END IF;
302: IF check_con_status_id%NOTFOUND THEN
303: FND_MESSAGE.set_name('AHL', 'AHL_PRD_CON_STATUS_ID_INVALID');
304: FND_MESSAGE.set_token('STATUSID', p_disp_filter_rec.condition_id);
305: FND_MSG_PUB.add;
306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
307: CLOSE check_con_status_id;
308: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
309: ELSE
310: CLOSE check_con_status_id;
304: FND_MESSAGE.set_token('STATUSID', p_disp_filter_rec.condition_id);
305: FND_MSG_PUB.add;
306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
307: CLOSE check_con_status_id;
308: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
309: ELSE
310: CLOSE check_con_status_id;
311: END IF;
312: ELSIF (p_disp_filter_rec.condition_id IS NULL AND
317: IF get_con_status_id%NOTFOUND THEN
318: FND_MESSAGE.set_name('AHL', 'AHL_PRD_CON_STATUS_INVALID');
319: FND_MESSAGE.set_token('STAUS', p_disp_filter_rec.condition_code);
320: FND_MSG_PUB.add;
321: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
322: CLOSE get_con_status_id;
323: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
324: ELSE
325: CLOSE get_con_status_id;
319: FND_MESSAGE.set_token('STAUS', p_disp_filter_rec.condition_code);
320: FND_MSG_PUB.add;
321: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
322: CLOSE get_con_status_id;
323: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
324: ELSE
325: CLOSE get_con_status_id;
326: END IF;
327: END IF;
661: --the message otherwise it will interfere with other regular meaningful messages.
662: FND_MESSAGE.set_name('AHL', 'AHL_PRD_CONST_MULTIPLE');
663: FND_MSG_PUB.add;
664: FND_MSG_PUB.get(p_msg_index => FND_MSG_PUB.G_LAST,
665: p_encoded => FND_API.G_FALSE,
666: p_data => l_translated_msg,
667: p_msg_index_out => l_msg_index);
668: FND_MSG_PUB.delete_msg(l_msg_index);
669: x_disp_list_tbl(i).on_item_number := l_translated_msg;
685: /* After discussion with Jay, now decided to display it just as
686: FND_MESSAGE.set_name('AHL', 'AHL_PRD_CONST_IG_NAME');
687: FND_MSG_PUB.add;
688: FND_MSG_PUB.get(p_msg_index => FND_MSG_PUB.G_LAST,
689: p_encoded => FND_API.G_FALSE,
690: p_data => l_translated_msg,
691: p_msg_index_out => l_msg_index);
692: FND_MSG_PUB.delete_msg(l_msg_index);
693: x_disp_list_tbl(i).off_item_number := '<'||l_translated_msg||'>:'||x_disp_list_tbl(i).item_group_name;
708: -- Get all the error messages from the previous steps (if any) and raise the appropriate Exception
709: l_msg_count := FND_MSG_PUB.count_msg;
710: IF l_msg_count > 0 THEN
711: x_msg_count := l_msg_count;
712: RAISE FND_API.G_EXC_ERROR;
713: END IF;
714: -- Count and Get messages (optional)
715: FND_MSG_PUB.count_and_get(
716: p_encoded => FND_API.G_FALSE,
712: RAISE FND_API.G_EXC_ERROR;
713: END IF;
714: -- Count and Get messages (optional)
715: FND_MSG_PUB.count_and_get(
716: p_encoded => FND_API.G_FALSE,
717: p_count => x_msg_count,
718: p_data => x_msg_data);
719:
720: EXCEPTION
717: p_count => x_msg_count,
718: p_data => x_msg_data);
719:
720: EXCEPTION
721: WHEN FND_API.G_EXC_ERROR THEN
722: --ROLLBACK TO get_disposition_list;
723: x_return_status := FND_API.G_RET_STS_ERROR ;
724: FND_MSG_PUB.count_and_get(
725: p_encoded => FND_API.G_FALSE,
719:
720: EXCEPTION
721: WHEN FND_API.G_EXC_ERROR THEN
722: --ROLLBACK TO get_disposition_list;
723: x_return_status := FND_API.G_RET_STS_ERROR ;
724: FND_MSG_PUB.count_and_get(
725: p_encoded => FND_API.G_FALSE,
726: p_count => x_msg_count,
727: p_data => x_msg_data);
721: WHEN FND_API.G_EXC_ERROR THEN
722: --ROLLBACK TO get_disposition_list;
723: x_return_status := FND_API.G_RET_STS_ERROR ;
724: FND_MSG_PUB.count_and_get(
725: p_encoded => FND_API.G_FALSE,
726: p_count => x_msg_count,
727: p_data => x_msg_data);
728:
729: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
725: p_encoded => FND_API.G_FALSE,
726: p_count => x_msg_count,
727: p_data => x_msg_data);
728:
729: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
730: --ROLLBACK TO get_disposition_list;
731: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
732: FND_MSG_PUB.count_and_get(
733: p_encoded => FND_API.G_FALSE,
727: p_data => x_msg_data);
728:
729: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
730: --ROLLBACK TO get_disposition_list;
731: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
732: FND_MSG_PUB.count_and_get(
733: p_encoded => FND_API.G_FALSE,
734: p_count => x_msg_count,
735: p_data => x_msg_data);
729: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
730: --ROLLBACK TO get_disposition_list;
731: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
732: FND_MSG_PUB.count_and_get(
733: p_encoded => FND_API.G_FALSE,
734: p_count => x_msg_count,
735: p_data => x_msg_data);
736:
737: WHEN OTHERS THEN
735: p_data => x_msg_data);
736:
737: WHEN OTHERS THEN
738: --ROLLBACK TO get_disposition_list;
739: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
740: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
741: THEN
742: FND_MSG_PUB.add_exc_msg(
743: p_pkg_name => G_PKG_NAME,
744: p_procedure_name => l_api_name,
745: p_error_text => SUBSTRB(SQLERRM,1,240));
746: END IF;
747: FND_MSG_PUB.count_and_get(
748: p_encoded => FND_API.G_FALSE,
749: p_count => x_msg_count,
750: p_data => x_msg_data);
751:
752: END get_disposition_list;
774: -- End of Comments.
775:
776: PROCEDURE Get_Part_Change_Disposition (
777: p_api_version IN NUMBER,
778: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
779: p_commit IN VARCHAR2 := FND_API.G_FALSE,
780: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
781: x_return_status OUT NOCOPY VARCHAR2,
782: x_msg_count OUT NOCOPY NUMBER,
775:
776: PROCEDURE Get_Part_Change_Disposition (
777: p_api_version IN NUMBER,
778: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
779: p_commit IN VARCHAR2 := FND_API.G_FALSE,
780: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
781: x_return_status OUT NOCOPY VARCHAR2,
782: x_msg_count OUT NOCOPY NUMBER,
783: x_msg_data OUT NOCOPY VARCHAR2,
776: PROCEDURE Get_Part_Change_Disposition (
777: p_api_version IN NUMBER,
778: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
779: p_commit IN VARCHAR2 := FND_API.G_FALSE,
780: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
781: x_return_status OUT NOCOPY VARCHAR2,
782: x_msg_count OUT NOCOPY NUMBER,
783: x_msg_data OUT NOCOPY VARCHAR2,
784: p_workorder_id IN NUMBER,
1318: -- Standard start of API savepoint
1319: SAVEPOINT Get_Part_Change_Disp_Pvt;
1320:
1321: -- Initialize Procedure return status to success
1322: x_return_status := FND_API.G_RET_STS_SUCCESS;
1323: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1324: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
1325: G_LOG_PREFIX||l_api_name||': Begin API',
1326: 'Entering the Procedure.');
1325: G_LOG_PREFIX||l_api_name||': Begin API',
1326: 'Entering the Procedure.');
1327: END IF;
1328:
1329: IF (FND_API.to_boolean(p_init_msg_list)) THEN
1330: FND_MSG_PUB.initialize;
1331: END IF;
1332:
1333: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
1477: x_disposition_rec.PROBLEM_MEANING:=l_disp_rec.PROBLEM_MEANING;
1478:
1479: Ahl_prd_disp_util_pvt.Get_Available_Disp_Types (
1480: p_api_version => 1.0,
1481: p_commit => FND_API.G_FALSE,
1482: x_return_status => x_return_status,
1483: x_msg_count => x_msg_count,
1484: x_msg_data => x_msg_data,
1485: p_disposition_id => x_disposition_rec.disposition_id,
1494: 'Could not find any matching Disposition.');
1495: END IF;
1496: Ahl_prd_disp_util_pvt.Get_Available_Disp_Types (
1497: p_api_version => 1.0,
1498: p_commit => FND_API.G_FALSE,
1499: x_return_status => x_return_status,
1500: x_msg_count => x_msg_count,
1501: x_msg_data => x_msg_data,
1502: p_disposition_id => null,
1504: x_sec_disp_type_tbl => x_sec_disp_type_tbl);
1505: END IF;
1506:
1507: EXCEPTION
1508: WHEN FND_API.G_EXC_ERROR THEN
1509: Rollback to Get_Part_Change_Disp_Pvt;
1510: x_return_status := FND_API.G_RET_STS_ERROR;
1511: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1512: p_data => x_msg_data,
1506:
1507: EXCEPTION
1508: WHEN FND_API.G_EXC_ERROR THEN
1509: Rollback to Get_Part_Change_Disp_Pvt;
1510: x_return_status := FND_API.G_RET_STS_ERROR;
1511: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1512: p_data => x_msg_data,
1513: p_encoded => fnd_api.g_false);
1514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1509: Rollback to Get_Part_Change_Disp_Pvt;
1510: x_return_status := FND_API.G_RET_STS_ERROR;
1511: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1512: p_data => x_msg_data,
1513: p_encoded => fnd_api.g_false);
1514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1515: Rollback to Get_Part_Change_Disp_Pvt;
1516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1517: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1510: x_return_status := FND_API.G_RET_STS_ERROR;
1511: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1512: p_data => x_msg_data,
1513: p_encoded => fnd_api.g_false);
1514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1515: Rollback to Get_Part_Change_Disp_Pvt;
1516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1517: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1518: p_data => x_msg_data,
1512: p_data => x_msg_data,
1513: p_encoded => fnd_api.g_false);
1514: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1515: Rollback to Get_Part_Change_Disp_Pvt;
1516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1517: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1518: p_data => x_msg_data,
1519: p_encoded => fnd_api.g_false);
1520: WHEN OTHERS THEN
1515: Rollback to Get_Part_Change_Disp_Pvt;
1516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1517: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1518: p_data => x_msg_data,
1519: p_encoded => fnd_api.g_false);
1520: WHEN OTHERS THEN
1521: Rollback to Get_Part_Change_Disp_Pvt;
1522: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1523: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1518: p_data => x_msg_data,
1519: p_encoded => fnd_api.g_false);
1520: WHEN OTHERS THEN
1521: Rollback to Get_Part_Change_Disp_Pvt;
1522: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1523: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1524: p_procedure_name => l_api_name,
1525: p_error_text => SQLERRM);
1526: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1524: p_procedure_name => l_api_name,
1525: p_error_text => SQLERRM);
1526: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1527: p_data => x_msg_data,
1528: p_encoded => fnd_api.g_false);
1529: END Get_Part_Change_Disposition;
1530:
1531:
1532:
1544: -- End of Comments.
1545:
1546: PROCEDURE Get_Available_Disp_Types (
1547: p_api_version IN NUMBER,
1548: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1549: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1550: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1551: x_return_status OUT NOCOPY VARCHAR2,
1552: x_msg_count OUT NOCOPY NUMBER,
1545:
1546: PROCEDURE Get_Available_Disp_Types (
1547: p_api_version IN NUMBER,
1548: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1549: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1550: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1551: x_return_status OUT NOCOPY VARCHAR2,
1552: x_msg_count OUT NOCOPY NUMBER,
1553: x_msg_data OUT NOCOPY VARCHAR2,
1546: PROCEDURE Get_Available_Disp_Types (
1547: p_api_version IN NUMBER,
1548: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1549: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1550: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1551: x_return_status OUT NOCOPY VARCHAR2,
1552: x_msg_count OUT NOCOPY NUMBER,
1553: x_msg_data OUT NOCOPY VARCHAR2,
1554: p_disposition_id IN NUMBER,
1597: --
1598: BEGIN
1599:
1600: -- Initialize Procedure return status to success
1601: x_return_status := FND_API.G_RET_STS_SUCCESS;
1602:
1603: IF (FND_API.to_boolean(p_init_msg_list)) THEN
1604: FND_MSG_PUB.initialize;
1605: END IF;
1599:
1600: -- Initialize Procedure return status to success
1601: x_return_status := FND_API.G_RET_STS_SUCCESS;
1602:
1603: IF (FND_API.to_boolean(p_init_msg_list)) THEN
1604: FND_MSG_PUB.initialize;
1605: END IF;
1606:
1607: i:=0;
1768: CLOSE get_disp_rec_csr;
1769:
1770: EXCEPTION
1771: WHEN OTHERS THEN
1772: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1773: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
1774: p_procedure_name => l_api_name,
1775: p_error_text => SQLERRM);
1776: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1774: p_procedure_name => l_api_name,
1775: p_error_text => SQLERRM);
1776: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
1777: p_data => x_msg_data,
1778: p_encoded => fnd_api.g_false);
1779: END Get_Available_Disp_Types;
1780:
1781:
1782: -- Function to determine if the incident specified is the
1829: -- Parameters :
1830: --
1831: -- Standard IN Parameters :
1832: -- p_api_version IN NUMBER Required
1833: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1834: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1835: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1836: --
1837: -- Standard OUT Parameters :
1830: --
1831: -- Standard IN Parameters :
1832: -- p_api_version IN NUMBER Required
1833: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1834: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1835: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1836: --
1837: -- Standard OUT Parameters :
1838: -- x_return_status OUT VARCHAR2 Required
1831: -- Standard IN Parameters :
1832: -- p_api_version IN NUMBER Required
1833: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
1834: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
1835: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
1836: --
1837: -- Standard OUT Parameters :
1838: -- x_return_status OUT VARCHAR2 Required
1839: -- x_msg_count OUT NUMBER Required
1850:
1851:
1852: PROCEDURE Create_Disp_Mtl_Requirement (
1853: p_api_version IN NUMBER,
1854: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1855: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1856: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1857: x_return_status OUT NOCOPY VARCHAR2,
1858: x_msg_count OUT NOCOPY NUMBER,
1851:
1852: PROCEDURE Create_Disp_Mtl_Requirement (
1853: p_api_version IN NUMBER,
1854: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1855: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1856: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1857: x_return_status OUT NOCOPY VARCHAR2,
1858: x_msg_count OUT NOCOPY NUMBER,
1859: x_msg_data OUT NOCOPY VARCHAR2,
1852: PROCEDURE Create_Disp_Mtl_Requirement (
1853: p_api_version IN NUMBER,
1854: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1855: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1856: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1857: x_return_status OUT NOCOPY VARCHAR2,
1858: x_msg_count OUT NOCOPY NUMBER,
1859: x_msg_data OUT NOCOPY VARCHAR2,
1860: p_disposition_id IN NUMBER
1999: -- Standard start of API savepoint
2000: SAVEPOINT Create_Disp_Mtl_Req_Pvt;
2001:
2002: -- Initialize Procedure return status to success
2003: x_return_status := FND_API.G_RET_STS_SUCCESS;
2004:
2005: IF (FND_API.to_boolean(p_init_msg_list)) THEN
2006: FND_MSG_PUB.initialize;
2007: END IF;
2001:
2002: -- Initialize Procedure return status to success
2003: x_return_status := FND_API.G_RET_STS_SUCCESS;
2004:
2005: IF (FND_API.to_boolean(p_init_msg_list)) THEN
2006: FND_MSG_PUB.initialize;
2007: END IF;
2008:
2009: --Fetch the disposition for Part Removal
2014: FND_MESSAGE.Set_Name('AHL','AHL_PRD_DISP_ID_INVALID');
2015: FND_MESSAGE.Set_Token('DISPOSITION_ID', p_disposition_id);
2016: FND_MSG_PUB.ADD;
2017: CLOSE get_disp_dtls_csr;
2018: RAISE FND_API.G_EXC_ERROR;
2019: END IF;
2020: CLOSE get_disp_dtls_csr;
2021:
2022: --Throw an error if both item and position are null
2023: IF (l_disp_rec.inventory_item_id IS NULL AND
2024: l_disp_rec.path_position_id IS NULL) THEN
2025: FND_MESSAGE.Set_Name('AHL','AHL_PRD_DISP_ITEM_POS_NULL');
2026: FND_MSG_PUB.ADD;
2027: RAISE FND_API.G_EXC_ERROR;
2028: ELSIF (l_disp_rec.inventory_item_id IS NULL AND
2029: l_disp_rec.path_position_id IS NOT NULL) THEN
2030: --get the position relationship id (Use the 1st one)
2031: OPEN get_relnship_id_csr (l_disp_rec.path_position_id);
2055: --Raise the exception because for workorder org, no matching item found.
2056: --Can not create Mtl Req because there is no inventory item
2057: FND_MESSAGE.Set_Name('AHL','AHL_PRD_DISP_ITEM_ORG_INV');
2058: FND_MSG_PUB.ADD;
2059: RAISE FND_API.G_EXC_ERROR;
2060: END IF;
2061: CLOSE get_pos_subut_item_csr;
2062: END IF;
2063: CLOSE get_empty_pos_item_csr;
2122: END IF;
2123: Ahl_PP_Materials_PVT.Process_Material_Request (
2124: p_api_version => 1.0,
2125: p_init_msg_list => p_init_msg_list,
2126: p_commit => FND_API.G_FALSE,
2127: p_validation_level => p_validation_level,
2128: p_module_type => 'API',
2129: p_x_req_material_tbl => l_req_material_u_tbl,
2130: x_return_status => x_return_status,
2143: END IF;
2144: Ahl_PP_Materials_PVT.Create_Material_Reqst (
2145: p_api_version => 1.0,
2146: p_init_msg_list => p_init_msg_list,
2147: p_commit => FND_API.G_FALSE,
2148: p_validation_level => p_validation_level,
2149: p_interface_flag => 'Y', --push to WIP
2150: p_x_req_material_tbl => l_req_material_tbl,
2151: x_job_return_status => l_job_return_status,
2161: G_LOG_PREFIX||l_api_name||': Within the API',
2162: 'Error occurred after calling the API in Ahl_PP_Materials_PVT and x_return_status='||
2163: x_return_status||', x_msg_count='||x_msg_count);
2164: END IF;
2165: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2166: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2167: END IF;
2168:
2169: --Generate success error message for display purposes in UI.
2162: 'Error occurred after calling the API in Ahl_PP_Materials_PVT and x_return_status='||
2163: x_return_status||', x_msg_count='||x_msg_count);
2164: END IF;
2165: x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
2166: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2167: END IF;
2168:
2169: --Generate success error message for display purposes in UI.
2170: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2166: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2167: END IF;
2168:
2169: --Generate success error message for display purposes in UI.
2170: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
2171: -- Added on 1/8/05 by JR to fix Bug 4097327
2172: -- To give a different confirmation message for update
2173: IF (l_update_flag = true) THEN
2174: FND_MESSAGE.Set_Name('AHL','AHL_PRD_DISP_MTL_REQ_UPDATED');
2185: FND_MSG_PUB.ADD;
2186: END IF;
2187:
2188: --Standard check for commit
2189: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
2190: COMMIT;
2191: END IF;
2192:
2193: --Count and Get messages (optional)
2192:
2193: --Count and Get messages (optional)
2194: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2195: p_data => x_msg_data,
2196: p_encoded => fnd_api.g_false);
2197:
2198: EXCEPTION
2199: WHEN FND_API.G_EXC_ERROR THEN
2200: Rollback to Create_Disp_Mtl_Req_Pvt;
2195: p_data => x_msg_data,
2196: p_encoded => fnd_api.g_false);
2197:
2198: EXCEPTION
2199: WHEN FND_API.G_EXC_ERROR THEN
2200: Rollback to Create_Disp_Mtl_Req_Pvt;
2201: x_return_status := FND_API.G_RET_STS_ERROR;
2202: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2203: p_data => x_msg_data,
2197:
2198: EXCEPTION
2199: WHEN FND_API.G_EXC_ERROR THEN
2200: Rollback to Create_Disp_Mtl_Req_Pvt;
2201: x_return_status := FND_API.G_RET_STS_ERROR;
2202: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2203: p_data => x_msg_data,
2204: p_encoded => fnd_api.g_false);
2205: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2200: Rollback to Create_Disp_Mtl_Req_Pvt;
2201: x_return_status := FND_API.G_RET_STS_ERROR;
2202: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2203: p_data => x_msg_data,
2204: p_encoded => fnd_api.g_false);
2205: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2206: Rollback to Create_Disp_Mtl_Req_Pvt;
2207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2208: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2201: x_return_status := FND_API.G_RET_STS_ERROR;
2202: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2203: p_data => x_msg_data,
2204: p_encoded => fnd_api.g_false);
2205: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2206: Rollback to Create_Disp_Mtl_Req_Pvt;
2207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2208: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2209: p_data => x_msg_data,
2203: p_data => x_msg_data,
2204: p_encoded => fnd_api.g_false);
2205: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2206: Rollback to Create_Disp_Mtl_Req_Pvt;
2207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2208: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2209: p_data => x_msg_data,
2210: p_encoded => fnd_api.g_false);
2211: WHEN OTHERS THEN
2206: Rollback to Create_Disp_Mtl_Req_Pvt;
2207: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2208: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2209: p_data => x_msg_data,
2210: p_encoded => fnd_api.g_false);
2211: WHEN OTHERS THEN
2212: Rollback to Create_Disp_Mtl_Req_Pvt;
2213: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2214: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
2209: p_data => x_msg_data,
2210: p_encoded => fnd_api.g_false);
2211: WHEN OTHERS THEN
2212: Rollback to Create_Disp_Mtl_Req_Pvt;
2213: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2214: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
2215: p_procedure_name => l_api_name,
2216: p_error_text => SQLERRM);
2217: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2215: p_procedure_name => l_api_name,
2216: p_error_text => SQLERRM);
2217: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2218: p_data => x_msg_data,
2219: p_encoded => fnd_api.g_false);
2220: END Create_Disp_Mtl_Requirement;
2221:
2222: --------------------------------------------------------------------------------------
2223: -- Start of Comments --
2229: -- Parameters :
2230: --
2231: -- Standard IN Parameters :
2232: -- p_api_version IN NUMBER Required
2233: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2234: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2235: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2236: --
2237: -- Standard OUT Parameters :
2230: --
2231: -- Standard IN Parameters :
2232: -- p_api_version IN NUMBER Required
2233: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2234: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2235: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2236: --
2237: -- Standard OUT Parameters :
2238: -- x_return_status OUT VARCHAR2 Required
2231: -- Standard IN Parameters :
2232: -- p_api_version IN NUMBER Required
2233: -- p_commit IN VARCHAR2 Default FND_API.G_FALSE
2234: -- p_init_msg_list IN VARCHAR2 Default FND_API.G_FALSE
2235: -- p_validation_level IN NUMBER Default FND_API.G_VALID_LEVEL_FULL
2236: --
2237: -- Standard OUT Parameters :
2238: -- x_return_status OUT VARCHAR2 Required
2239: -- x_msg_count OUT NUMBER Required
2251: -- End of Comments.
2252:
2253: PROCEDURE Create_SR_Disp_Link (
2254: p_api_version IN NUMBER,
2255: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2256: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2257: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2258: x_return_status OUT NOCOPY VARCHAR2,
2259: x_msg_count OUT NOCOPY NUMBER,
2252:
2253: PROCEDURE Create_SR_Disp_Link (
2254: p_api_version IN NUMBER,
2255: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2256: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2257: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2258: x_return_status OUT NOCOPY VARCHAR2,
2259: x_msg_count OUT NOCOPY NUMBER,
2260: x_msg_data OUT NOCOPY VARCHAR2,
2253: PROCEDURE Create_SR_Disp_Link (
2254: p_api_version IN NUMBER,
2255: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2256: p_commit IN VARCHAR2 := FND_API.G_FALSE,
2257: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2258: x_return_status OUT NOCOPY VARCHAR2,
2259: x_msg_count OUT NOCOPY NUMBER,
2260: x_msg_data OUT NOCOPY VARCHAR2,
2261: p_service_request_id IN NUMBER,
2276: -- Standard start of API savepoint
2277: SAVEPOINT Create_SR_Disp_Link_Pvt;
2278:
2279: -- Initialize Procedure return status to success
2280: x_return_status := FND_API.G_RET_STS_SUCCESS;
2281:
2282: IF (FND_API.to_boolean(p_init_msg_list)) THEN
2283: FND_MSG_PUB.initialize;
2284: END IF;
2278:
2279: -- Initialize Procedure return status to success
2280: x_return_status := FND_API.G_RET_STS_SUCCESS;
2281:
2282: IF (FND_API.to_boolean(p_init_msg_list)) THEN
2283: FND_MSG_PUB.initialize;
2284: END IF;
2285:
2286: IF (FND_LOG.LEVEL_PROCEDURE>= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2301: fnd_message.set_name('AHL','AHL_UC_API_PARAMETER_INVALID');
2302: fnd_message.set_token('NAME','p_disposition_id');
2303: fnd_message.set_token('VALUE',p_disposition_id);
2304: fnd_msg_pub.add;
2305: RAISE FND_API.G_EXC_ERROR;
2306: END;
2307:
2308: BEGIN
2309: select 1 INTO l_dummy_num
2314: fnd_message.set_name('AHL','AHL_UC_API_PARAMETER_INVALID');
2315: fnd_message.set_token('NAME','p_service_request_id');
2316: fnd_message.set_token('VALUE',p_service_request_id);
2317: fnd_msg_pub.add;
2318: RAISE FND_API.G_EXC_ERROR;
2319: END;
2320:
2321: --- Create link between Disposition and Service Request
2322: l_link_rec := NULL;
2338: p_service_request_id||', object_id='||p_disposition_id);
2339: END IF;
2340: cs_incidentlinks_pub.create_incidentlink(
2341: p_api_version => 2.0,
2342: p_init_msg_list => FND_API.G_FALSE,
2343: p_commit => FND_API.G_FALSE,
2344: p_resp_appl_id => FND_GLOBAL.RESP_APPL_ID,
2345: p_resp_id => FND_GLOBAL.RESP_ID,
2346: p_user_id => FND_GLOBAL.USER_ID,
2339: END IF;
2340: cs_incidentlinks_pub.create_incidentlink(
2341: p_api_version => 2.0,
2342: p_init_msg_list => FND_API.G_FALSE,
2343: p_commit => FND_API.G_FALSE,
2344: p_resp_appl_id => FND_GLOBAL.RESP_APPL_ID,
2345: p_resp_id => FND_GLOBAL.RESP_ID,
2346: p_user_id => FND_GLOBAL.USER_ID,
2347: p_login_id => NULL,
2360: 'After calling cs_incidentlinks_pub.create_incidentlink and x_return_status='||
2361: x_return_status||', x_reciprocal_link_id='||l_reciprocal_link_id||', x_link_id='||
2362: x_link_id);
2363: END IF;
2364: If (x_return_status <> FND_API.G_RET_STS_SUCCESS) Then
2365: fnd_message.set_name('AHL','AHL_PRD_SR_LINK_CREATE_ERROR');
2366: fnd_message.set_token('VALUE1',p_disposition_id);
2367: fnd_msg_pub.add;
2368: RAISE FND_API.G_EXC_ERROR;
2364: If (x_return_status <> FND_API.G_RET_STS_SUCCESS) Then
2365: fnd_message.set_name('AHL','AHL_PRD_SR_LINK_CREATE_ERROR');
2366: fnd_message.set_token('VALUE1',p_disposition_id);
2367: fnd_msg_pub.add;
2368: RAISE FND_API.G_EXC_ERROR;
2369: End If;
2370:
2371: IF (FND_LOG.LEVEL_PROCEDURE>= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2372: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
2374: 'At the end of the API after normal execution.');
2375: END IF;
2376:
2377: --Standard check for commit
2378: IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
2379: COMMIT;
2380: END IF;
2381:
2382: --Count and Get messages (optional)
2381:
2382: --Count and Get messages (optional)
2383: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2384: p_data => x_msg_data,
2385: p_encoded => fnd_api.g_false);
2386:
2387: EXCEPTION
2388: WHEN FND_API.G_EXC_ERROR THEN
2389: Rollback to Create_SR_Disp_Link_Pvt;
2384: p_data => x_msg_data,
2385: p_encoded => fnd_api.g_false);
2386:
2387: EXCEPTION
2388: WHEN FND_API.G_EXC_ERROR THEN
2389: Rollback to Create_SR_Disp_Link_Pvt;
2390: x_return_status := FND_API.G_RET_STS_ERROR;
2391: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2392: p_data => x_msg_data,
2386:
2387: EXCEPTION
2388: WHEN FND_API.G_EXC_ERROR THEN
2389: Rollback to Create_SR_Disp_Link_Pvt;
2390: x_return_status := FND_API.G_RET_STS_ERROR;
2391: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2392: p_data => x_msg_data,
2393: p_encoded => fnd_api.g_false);
2394: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2389: Rollback to Create_SR_Disp_Link_Pvt;
2390: x_return_status := FND_API.G_RET_STS_ERROR;
2391: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2392: p_data => x_msg_data,
2393: p_encoded => fnd_api.g_false);
2394: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2395: Rollback to Create_SR_Disp_Link_Pvt;
2396: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2397: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2390: x_return_status := FND_API.G_RET_STS_ERROR;
2391: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2392: p_data => x_msg_data,
2393: p_encoded => fnd_api.g_false);
2394: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2395: Rollback to Create_SR_Disp_Link_Pvt;
2396: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2397: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2398: p_data => x_msg_data,
2392: p_data => x_msg_data,
2393: p_encoded => fnd_api.g_false);
2394: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2395: Rollback to Create_SR_Disp_Link_Pvt;
2396: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2397: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2398: p_data => x_msg_data,
2399: p_encoded => fnd_api.g_false);
2400: WHEN OTHERS THEN
2395: Rollback to Create_SR_Disp_Link_Pvt;
2396: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2397: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2398: p_data => x_msg_data,
2399: p_encoded => fnd_api.g_false);
2400: WHEN OTHERS THEN
2401: Rollback to Create_SR_Disp_Link_Pvt;
2402: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2403: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
2398: p_data => x_msg_data,
2399: p_encoded => fnd_api.g_false);
2400: WHEN OTHERS THEN
2401: Rollback to Create_SR_Disp_Link_Pvt;
2402: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2403: Fnd_Msg_Pub.add_exc_msg( p_pkg_name => G_PKG_NAME,
2404: p_procedure_name => l_api_name,
2405: p_error_text => SQLERRM);
2406: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2404: p_procedure_name => l_api_name,
2405: p_error_text => SQLERRM);
2406: FND_MSG_PUB.count_and_get( p_count => x_msg_count,
2407: p_data => x_msg_data,
2408: p_encoded => fnd_api.g_false);
2409: END Create_SR_Disp_Link;
2410:
2411:
2412: -- Function to get the Unit Config Header Id from the workorder Id