730: END IF;
731:
732:
733: -- Return Status
734: -- Success : FND_API.G_RET_STS_SUCCESS
735: -- Error : FND_API.G_RET_STS_ERROR
736: -- Unexpected Error : G_RET_STS_UNEXP_ERROR
737:
738: x_return_status := FND_API.G_RET_STS_SUCCESS ;
731:
732:
733: -- Return Status
734: -- Success : FND_API.G_RET_STS_SUCCESS
735: -- Error : FND_API.G_RET_STS_ERROR
736: -- Unexpected Error : G_RET_STS_UNEXP_ERROR
737:
738: x_return_status := FND_API.G_RET_STS_SUCCESS ;
739:
734: -- Success : FND_API.G_RET_STS_SUCCESS
735: -- Error : FND_API.G_RET_STS_ERROR
736: -- Unexpected Error : G_RET_STS_UNEXP_ERROR
737:
738: x_return_status := FND_API.G_RET_STS_SUCCESS ;
739:
740: -- Check if valid eAM routing network exists
741: IF NOT CheckNwkExists( p_routing_sequence_id => p_routing_sequence_id )
742: THEN
743: FND_MESSAGE.SET_NAME('BOM','BOM_EAM_NO_NETWORK_EXIST');
744: x_err_msg:= FND_MESSAGE.GET;
745: -- Commented as part of bug#3460975. This is not an error. It should be treated as warning
746: -- because a routing may or may not have a link.
747: -- x_return_status := FND_API.G_RET_STS_ERROR ;
748:
749: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
750: Error_Handler.Write_Debug('Check if Op Network exists. . . ' || x_return_status );
751: END IF;
827: IF NOT l_connected_flag THEN
828:
829: FND_MESSAGE.SET_NAME('BOM','BOM_EAM_RTG_INVALID_LINK_EXIST');
830: x_err_msg:= FND_MESSAGE.GET;
831: x_return_status := FND_API.G_RET_STS_ERROR ;
832: RETURN ;
833:
834: END IF ;
835:
847:
848: ELSE
849: FND_MESSAGE.SET_NAME('BOM','BOM_RTG_NTWK_BROKEN_LINK_EXIST');
850: x_err_msg:= FND_MESSAGE.GET;
851: x_return_status := FND_API.G_RET_STS_ERROR ;
852: RETURN ;
853: END IF;
854: END LOOP;
855:
879: END IF;
880:
881: FND_MESSAGE.SET_NAME('BOM','BOM_EAM_RTG_INVALID_LINK_EXIST');
882: x_err_msg:= FND_MESSAGE.GET;
883: x_return_status := FND_API.G_RET_STS_ERROR ;
884: RETURN ;
885: END IF ;
886: END LOOP ;
887:
910: END IF;
911:
912: FND_MESSAGE.SET_NAME('BOM','BOM_EAM_RTG_INVALID_LINK_EXIST');
913: x_err_msg:= FND_MESSAGE.GET;
914: x_return_status := FND_API.G_RET_STS_ERROR ;
915: RETURN ;
916: END IF ;
917: END LOOP ;
918:
961: END IF;
962:
963: FND_MESSAGE.SET_NAME('BOM','BOM_RTG_NTWK_LOOP_EXISTS');
964: x_err_msg:= FND_MESSAGE.GET;
965: x_return_status := FND_API.G_RET_STS_ERROR ;
966: RETURN ;
967: END IF ;
968:
969: END IF ;
1013: END IF ;
1014:
1015: FND_MESSAGE.SET_NAME('BOM','BOM_RTG_NTWK_LOOP_EXISTS');
1016: x_err_msg:= FND_MESSAGE.GET;
1017: x_return_status := FND_API.G_RET_STS_ERROR ;
1018: RETURN ;
1019: END IF ;
1020:
1021:
1100: END IF;
1101:
1102:
1103: -- Return Status
1104: -- Success : FND_API.G_RET_STS_SUCCESS
1105: -- Error : FND_API.G_RET_STS_ERROR
1106: -- Unexpected Error : G_RET_STS_UNEXP_ERROR
1107:
1108: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1101:
1102:
1103: -- Return Status
1104: -- Success : FND_API.G_RET_STS_SUCCESS
1105: -- Error : FND_API.G_RET_STS_ERROR
1106: -- Unexpected Error : G_RET_STS_UNEXP_ERROR
1107:
1108: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1109:
1104: -- Success : FND_API.G_RET_STS_SUCCESS
1105: -- Error : FND_API.G_RET_STS_ERROR
1106: -- Unexpected Error : G_RET_STS_UNEXP_ERROR
1107:
1108: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1109:
1110: FOR l_opnet_rec in c_op_network
1111: ( P_From_Op_Seq_Id => p_from_op_seq_id,
1112: P_To_Op_Seq_Id => p_to_op_seq_id
1121:
1122: FND_MESSAGE.SET_NAME('BOM','BOM_OP_NWK_PMOP_NOTUNIQUE');
1123: FND_MESSAGE.SET_TOKEN('FROM_OP_SEQ_NUMBER', p_from_op_seq_num) ;
1124: x_err_msg:= FND_MESSAGE.GET;
1125: x_return_status := FND_API.G_RET_STS_ERROR ;
1126:
1127: END LOOP ;
1128:
1129:
1279:
1280: BEGIN
1281:
1282: -- Init local table variables.
1283: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1284: l_return_status := FND_API.G_RET_STS_SUCCESS ;
1285:
1286:
1287: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1280: BEGIN
1281:
1282: -- Init local table variables.
1283: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1284: l_return_status := FND_API.G_RET_STS_SUCCESS ;
1285:
1286:
1287: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1288: Error_Handler.Write_Debug
1327: IF l_return_status = BOM_Rtg_Globals.G_RECORD_FOUND AND
1328: p_op_node_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CREATE
1329: THEN
1330: l_return_mesg := 'BOM_OP_ALREADY_EXISTS' ;
1331: l_return_status := FND_API.G_RET_STS_ERROR ;
1332:
1333: ELSIF l_return_status = BOM_Rtg_Globals.G_RECORD_NOT_FOUND AND
1334: p_op_node_rec.transaction_type IN
1335: (BOM_Rtg_Globals.G_OPR_UPDATE,
1335: (BOM_Rtg_Globals.G_OPR_UPDATE,
1336: BOM_Rtg_Globals.G_OPR_DELETE )
1337: THEN
1338: l_return_mesg := 'BOM_OP_DOESNOT_EXIST' ;
1339: l_return_status := FND_API.G_RET_STS_ERROR ;
1340:
1341: ELSE
1342: l_return_status := FND_API.G_RET_STS_SUCCESS;
1343:
1338: l_return_mesg := 'BOM_OP_DOESNOT_EXIST' ;
1339: l_return_status := FND_API.G_RET_STS_ERROR ;
1340:
1341: ELSE
1342: l_return_status := FND_API.G_RET_STS_SUCCESS;
1343:
1344: END IF ;
1345:
1346:
1353: || substrb(SQLERRM,1,200);
1354:
1355: -- dbms_output.put_line('Unexpected Error: '||l_err_text);
1356:
1357: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1358:
1359:
1360: END Op_Node_Check_Existence ;
1361:
1431: ('Within the Operation Node Entity Defaulting...') ;
1432: END IF ;
1433:
1434: x_op_node_rec := p_op_node_rec ;
1435: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1436:
1437:
1438: IF x_op_node_rec.X_Coordinate = FND_API.G_MISS_NUM
1439: THEN
1434: x_op_node_rec := p_op_node_rec ;
1435: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1436:
1437:
1438: IF x_op_node_rec.X_Coordinate = FND_API.G_MISS_NUM
1439: THEN
1440: x_op_node_rec.X_Coordinate := NULL ;
1441: END IF ;
1442:
1439: THEN
1440: x_op_node_rec.X_Coordinate := NULL ;
1441: END IF ;
1442:
1443: IF x_op_node_rec.Y_Coordinate = FND_API.G_MISS_NUM
1444: THEN
1445: x_op_node_rec.Y_Coordinate := NULL ;
1446: END IF ;
1447:
1457: || substrb(SQLERRM,1,200);
1458: -- dbms_output.put_line('Unexpected Error: '||l_err_text);
1459:
1460: -- Return the status and message table.
1461: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1462:
1463: END Op_Node_Entity_Defaulting ;
1464:
1465:
1489: --
1490: -- Initialize Op Node Record and Status
1491: --
1492: x_op_node_rec := p_op_node_rec ;
1493: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1494:
1495:
1496: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1497: ('Performing Operation Check Entitity Validation . . .') ;
1512:
1513: -- dbms_output.put_line('Unexpected Error: '||l_err_text);
1514:
1515: -- Return the status and message table.
1516: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1517:
1518:
1519: END Op_Node_Check_Entity ;
1520:
1537:
1538: --
1539: -- Initialize Status
1540: --
1541: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1542:
1543: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1544: ('Performing Database Writes . . .') ;
1545: END IF ;
1594:
1595: -- dbms_output.put_line('Unexpected Error: '||l_err_text);
1596:
1597: -- Return the status and message table.
1598: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1599:
1600: END Op_Node_Perform_Writes ;
1601:
1602:
1632:
1633: BEGIN
1634:
1635: -- Return Status
1636: -- Success : FND_API.G_RET_STS_SUCCESS
1637: -- Error : FND_API.G_RET_STS_ERROR
1638: -- Unexpected Error : FND_API.G_RET_STS_UNEXP_ERROR
1639:
1640:
1633: BEGIN
1634:
1635: -- Return Status
1636: -- Success : FND_API.G_RET_STS_SUCCESS
1637: -- Error : FND_API.G_RET_STS_ERROR
1638: -- Unexpected Error : FND_API.G_RET_STS_UNEXP_ERROR
1639:
1640:
1641: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1634:
1635: -- Return Status
1636: -- Success : FND_API.G_RET_STS_SUCCESS
1637: -- Error : FND_API.G_RET_STS_ERROR
1638: -- Unexpected Error : FND_API.G_RET_STS_UNEXP_ERROR
1639:
1640:
1641: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1642: ('Processing Operation Nodes . . .' ) ;
1645:
1646:
1647: -- Init local table variables.
1648: SAVEPOINT init_operation_nodes ;
1649: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1650: l_return_status := FND_API.G_RET_STS_SUCCESS ;
1651: l_op_node_tbl := p_op_node_tbl ;
1652:
1653: -- Load environment information into the SYSTEM_INFORMATION record
1646:
1647: -- Init local table variables.
1648: SAVEPOINT init_operation_nodes ;
1649: x_return_status := FND_API.G_RET_STS_SUCCESS ;
1650: l_return_status := FND_API.G_RET_STS_SUCCESS ;
1651: l_op_node_tbl := p_op_node_tbl ;
1652:
1653: -- Load environment information into the SYSTEM_INFORMATION record
1654: -- (USER_ID, LOGIN_ID, PROG_APPID, PROG_ID)
1669: UPPER(l_op_node_rec.transaction_type) ;
1670:
1671:
1672: IF (l_op_node_rec.return_status IS NULL OR
1673: l_op_node_rec.return_status = FND_API.G_MISS_CHAR)
1674:
1675: THEN
1676:
1677: l_return_status := FND_API.G_RET_STS_SUCCESS;
1673: l_op_node_rec.return_status = FND_API.G_MISS_CHAR)
1674:
1675: THEN
1676:
1677: l_return_status := FND_API.G_RET_STS_SUCCESS;
1678: l_op_node_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1679:
1680:
1681: -- Check Transaction Type
1674:
1675: THEN
1676:
1677: l_return_status := FND_API.G_RET_STS_SUCCESS;
1678: l_op_node_rec.return_status := FND_API.G_RET_STS_SUCCESS;
1679:
1680:
1681: -- Check Transaction Type
1682: -- Transaction Type should be UPDATE only.
1686: /* Error Handling */
1687: FND_MESSAGE.SET_NAME('BOM','BOM_OPNODE_TRANS_TYPE_INVALID');
1688: FND_MESSAGE.SET_TOKEN('OP_SEQ_NUMBER', l_op_node_rec.operation_sequence_number) ;
1689: l_return_mesg := FND_MESSAGE.GET ;
1690: l_return_status := FND_API.G_RET_STS_ERROR ;
1691: RAISE EXC_SEV_QUIT_OBJECT ;
1692:
1693: END IF ;
1694:
1693: END IF ;
1694:
1695: -- Process Flow step : Check user unique index : Operation_Sequence_Id
1696: IF l_op_node_rec.operation_sequence_id is NULL OR
1697: l_op_node_rec.operation_sequence_id = FND_API.G_MISS_NUM
1698: THEN
1699:
1700: /* Error Handling */
1701: FND_MESSAGE.SET_NAME('BOM','BOM_OPNODE_SEQ_ID_NULL');
1700: /* Error Handling */
1701: FND_MESSAGE.SET_NAME('BOM','BOM_OPNODE_SEQ_ID_NULL');
1702: FND_MESSAGE.SET_TOKEN('OP_SEQ_NUMBER', l_op_node_rec.operation_sequence_number) ;
1703: l_return_mesg := FND_MESSAGE.GET ;
1704: l_return_status := FND_API.G_RET_STS_ERROR ;
1705: RAISE EXC_SEV_QUIT_OBJECT ;
1706:
1707:
1708: END IF;
1715: , x_return_mesg => l_return_mesg
1716: , x_return_status => l_return_status
1717: );
1718:
1719: IF l_return_status = FND_API.G_RET_STS_ERROR
1720: THEN
1721:
1722: /* Error Handling */
1723: RAISE EXC_SEV_QUIT_OBJECT ;
1721:
1722: /* Error Handling */
1723: RAISE EXC_SEV_QUIT_OBJECT ;
1724:
1725: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
1726: THEN
1727:
1728: /* Error Handling */
1729: RAISE EXC_UNEXP_SKIP_OBJECT ;
1784: Error_Handler.Write_Debug ('Entity defaulting completed with return_status: ' || l_return_status) ;
1785: END IF ;
1786:
1787:
1788: IF l_return_status = FND_API.G_RET_STS_ERROR
1789: THEN
1790:
1791: /* Error Handling */
1792: RAISE EXC_SEV_QUIT_OBJECT ;
1790:
1791: /* Error Handling */
1792: RAISE EXC_SEV_QUIT_OBJECT ;
1793:
1794: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
1795: THEN
1796:
1797: /* Error Handling */
1798: RAISE EXC_UNEXP_SKIP_OBJECT ;
1813: , x_return_status => l_return_status
1814: ) ;
1815:
1816:
1817: IF l_return_status = FND_API.G_RET_STS_ERROR
1818: THEN
1819:
1820: /* Error Handling */
1821: RAISE EXC_SEV_QUIT_OBJECT ;
1819:
1820: /* Error Handling */
1821: RAISE EXC_SEV_QUIT_OBJECT ;
1822:
1823: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
1824: THEN
1825:
1826: /* Error Handling */
1827: RAISE EXC_UNEXP_SKIP_OBJECT ;
1844: , x_return_status => l_return_status
1845: ) ;
1846:
1847:
1848: IF l_return_status = FND_API.G_RET_STS_ERROR
1849: THEN
1850:
1851: /* Error Handling */
1852: RAISE EXC_SEV_QUIT_OBJECT ;
1850:
1851: /* Error Handling */
1852: RAISE EXC_SEV_QUIT_OBJECT ;
1853:
1854: ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR
1855: THEN
1856:
1857: /* Error Handling */
1858: RAISE EXC_UNEXP_SKIP_OBJECT ;
1868:
1869: EXCEPTION
1870:
1871: WHEN EXC_SEV_QUIT_OBJECT THEN
1872: l_return_status := FND_API.G_RET_STS_ERROR ;
1873:
1874: WHEN EXC_UNEXP_SKIP_OBJECT THEN
1875: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1876:
1871: WHEN EXC_SEV_QUIT_OBJECT THEN
1872: l_return_status := FND_API.G_RET_STS_ERROR ;
1873:
1874: WHEN EXC_UNEXP_SKIP_OBJECT THEN
1875: l_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1876:
1877: END ; -- END block
1878:
1879:
1877: END ; -- END block
1878:
1879:
1880:
1881: IF l_return_status IN ( FND_API.G_RET_STS_ERROR
1882: , FND_API.G_RET_STS_UNEXP_ERROR)
1883: THEN
1884: x_return_status := l_return_status ;
1885: ROLLBACK TO init_operation_nodes ;
1878:
1879:
1880:
1881: IF l_return_status IN ( FND_API.G_RET_STS_ERROR
1882: , FND_API.G_RET_STS_UNEXP_ERROR)
1883: THEN
1884: x_return_status := l_return_status ;
1885: ROLLBACK TO init_operation_nodes ;
1886: RETURN ;
1890: END LOOP ; -- End of l_op_node_tbl loop
1891:
1892:
1893: -- Load OUT parameters
1894: IF NVL(l_return_status, FND_API.G_RET_STS_SUCCESS )
1895: <> FND_API.G_RET_STS_SUCCESS
1896: THEN
1897: x_return_status := l_return_status ;
1898: END IF;
1891:
1892:
1893: -- Load OUT parameters
1894: IF NVL(l_return_status, FND_API.G_RET_STS_SUCCESS )
1895: <> FND_API.G_RET_STS_SUCCESS
1896: THEN
1897: x_return_status := l_return_status ;
1898: END IF;
1899:
2073: x_return_status := l_return_status ;
2074: x_op_link_tbl := p_op_link_tbl ;
2075:
2076:
2077: IF l_return_status IN ( FND_API.G_RET_STS_ERROR
2078: , FND_API.G_RET_STS_UNEXP_ERROR)
2079: THEN
2080: ROLLBACK TO init_operation_link ;
2081: END IF ;
2074: x_op_link_tbl := p_op_link_tbl ;
2075:
2076:
2077: IF l_return_status IN ( FND_API.G_RET_STS_ERROR
2078: , FND_API.G_RET_STS_UNEXP_ERROR)
2079: THEN
2080: ROLLBACK TO init_operation_link ;
2081: END IF ;
2082: