113: -- network_seq_num NUMBER
114: -- process_flag VARCHAR2
115:
116: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
117: Error_Handler.Write_Debug( 'Getting All Links . . .' ) ;
118: END IF ;
119:
120: FOR all_links_rec IN c_All_Nwk_Links LOOP
121: x_network_link_tbl(i).from_op_seq_id := all_links_rec.from_op_seq_id;
129:
130:
131:
132: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
133: Error_Handler.Write_Debug( 'Row#'||to_char(i) || ' FROM : '
134: || to_char(x_network_link_tbl(i).from_op_seq_num)
135: || ' - '
136: || to_char(x_network_link_tbl(i).from_op_seq_id)
137: || ' TO : '
203: -- network_seq_num NUMBER
204: -- process_flag VARCHAR2
205:
206: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
207: Error_Handler.Write_Debug( 'Getting All start nodes . . .' ) ;
208: END IF ;
209:
210: FOR all_start_nodes_rec IN c_All_Start_Nodes LOOP
211: x_start_op_tbl(i).from_op_seq_id := all_start_nodes_rec.from_op_seq_id ;
218: x_start_op_tbl(i).process_flag := 'C';
219:
220:
221: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
222: Error_Handler.Write_Debug( 'Row#'||to_char(i) || ' FROM : '
223: || to_char(x_start_op_tbl(i).from_op_seq_num)
224: || ' - '
225: || to_char(x_start_op_tbl(i).from_op_seq_id)
226: || ' TO : '
283: x_connected_op_tbl(1).from_op_seq_num := p_from_op_seq_hum ;
284: x_connected_op_tbl(1).process_flag := 'S' ;
285:
286: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
287: Error_Handler.Write_Debug('Connected op list : Start Node '
288: || to_char(x_connected_op_tbl(1).from_op_seq_num)
289: || ' - '
290: || to_char(x_connected_op_tbl(1).from_op_seq_id)
291: );
318: x_connected_op_tbl(i).network_seq_num := p_network_seq_num ;
319: x_connected_op_tbl(i).process_flag := 'C' ;
320:
321: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
322: Error_Handler.Write_Debug( 'Row#'||to_char(i) || ' FROM : '
323: || to_char(x_connected_op_tbl(i).from_op_seq_num)
324: || ' - '
325: || to_char(x_connected_op_tbl(i).from_op_seq_id)
326: || ' TO : '
344: RETURN TRUE ;
345:
346: WHEN OTHERS THEN
347: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
348: Error_Handler.Write_Debug
349: ( 'When creating connected op list, Some unknown error in Check Access. . .' || SQLERRM ) ;
350: END IF ;
351:
352: -- RETURN FALSE ;
453: mst_c := x_master_op_tbl.COUNT + 1 ;
454:
455:
456: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
457: Error_Handler.Write_Debug('Appending an op link to master op list . .' );
458: END IF ;
459:
460:
461: FOR i IN 1..p_connected_op_tbl.COUNT LOOP
484: x_master_op_tbl(mst_c).process_flag :=
485: p_connected_op_tbl(i).process_flag ;
486:
487: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
488: Error_Handler.Write_Debug( 'Row#'||to_char(mst_c) || ' FROM : '
489: || to_char(x_master_op_tbl(mst_c).from_op_seq_num)
490: || ' - '
491: || to_char(x_master_op_tbl(mst_c).from_op_seq_id)
492: || ' TO : '
580: BEGIN
581: l_network_link_tbl := p_network_link_tbl ;
582:
583: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
584: Error_Handler.Write_Debug('Within CheckLoopAPI . . .');
585: END IF;
586:
587: -- Get the top and bottom reference pointers
588: l_top_ptr := GetTopRefPointer( l_network_link_tbl ) ;
589: l_bot_ptr := GetBottomRefPointer( l_network_link_tbl ) ;
590:
591:
592: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
593: Error_Handler.Write_Debug('Get op network node. top_ptr: '
594: || to_char(l_top_ptr)
595: || ' - ' || 'bot_ptr: '|| to_char(l_bot_ptr));
596: END IF;
597:
605: IF l_network_link_tbl(i).process_flag = 'C' THEN
606: l_connected := 0;
607:
608: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
609: Error_Handler.Write_Debug('in loop1 :'||to_char(i)||' time');
610: END IF;
611:
612: FOR j IN 1..l_network_link_tbl.COUNT LOOP
613: IF l_network_link_tbl(i).from_op_seq_id
622: l_network_link_tbl(i).process_flag := 'D';
623: l_flag_changed := 1;
624:
625: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
626: Error_Handler.Write_Debug('Changing row#'||to_char(i)||' '||'flag to D');
627: END IF;
628:
629: END IF;
630: END IF;
634: l_top_ptr := GetTopRefPointer( l_network_link_tbl ) ;
635: l_bot_ptr := GetBottomRefPointer( l_network_link_tbl ) ;
636:
637: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
638: Error_Handler.Write_Debug('top_ptr:'|| to_char(l_top_ptr));
639: Error_Handler.Write_Debug('bot_ptr:'|| to_char(l_bot_ptr));
640: END IF;
641:
642:
635: l_bot_ptr := GetBottomRefPointer( l_network_link_tbl ) ;
636:
637: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
638: Error_Handler.Write_Debug('top_ptr:'|| to_char(l_top_ptr));
639: Error_Handler.Write_Debug('bot_ptr:'|| to_char(l_bot_ptr));
640: END IF;
641:
642:
643: l_flag_changed := 0;
646: IF l_network_link_tbl(i).process_flag = 'C' THEN
647: l_connected := 0;
648:
649: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
650: Error_Handler.Write_Debug('in loop2 :'||to_char(i)||' time');
651: END IF;
652:
653:
654: FOR j IN REVERSE l_top_ptr..l_bot_ptr LOOP
664: l_network_link_tbl(i).process_flag := 'D';
665: l_flag_changed := 1;
666:
667: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
668: Error_Handler.Write_Debug('Changing row#'||to_char(i)||' '||'flag to D');
669: END IF;
670: END IF;
671: END IF;
672: END LOOP;
676: l_top_ptr := GetTopRefPointer( l_network_link_tbl ) ;
677: l_bot_ptr := GetBottomRefPointer( l_network_link_tbl ) ;
678:
679: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
680: Error_Handler.Write_Debug('top_ptr:'|| to_char(l_top_ptr));
681: Error_Handler.Write_Debug('bot_ptr:'|| to_char(l_bot_ptr));
682: END IF;
683:
684: END LOOP; -- while
677: l_bot_ptr := GetBottomRefPointer( l_network_link_tbl ) ;
678:
679: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
680: Error_Handler.Write_Debug('top_ptr:'|| to_char(l_top_ptr));
681: Error_Handler.Write_Debug('bot_ptr:'|| to_char(l_bot_ptr));
682: END IF;
683:
684: END LOOP; -- while
685:
685:
686: IF (l_top_ptr <> -1 or l_bot_ptr <> -1) THEN
687:
688: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
689: Error_Handler.Write_Debug('Error. A loop has been detected');
690: END IF;
691:
692: RETURN FALSE ;
693: END IF;
725:
726: BEGIN
727:
728: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
729: Error_Handler.Write_Debug('Within eAM Rtg Network validation API. . . ');
730: END IF;
731:
732:
733: -- Return Status
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;
752:
753: -- Commented as part of bug#3460975. Since this is a warning don't return.
754: -- RETURN ;
755: END IF;
756:
757:
758: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
759: Error_Handler.Write_Debug('Get network info and import the data into the PL/SQL table . . . ' );
760: END IF;
761:
762: Get_All_Links
763: ( p_routing_sequence_id => p_routing_sequence_id
771:
772:
773: -- Check for BROKEN LINKS
774: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
775: Error_Handler.Write_Debug('Check for broken links. . . ' );
776: END IF;
777:
778: -- In each start node, get the nodes connected to,then compare with
779: -- the master list to see if there is any common node i.e. connected.
782:
783: FOR i IN 1..l_start_op_tbl.COUNT LOOP
784:
785: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
786: Error_Handler.Write_Debug('Creating connected op list : '
787: || to_char(l_start_op_tbl(i).from_op_seq_num)
788: || ' - '
789: || to_char(l_start_op_tbl(i).from_op_seq_id)
790: );
804: l_master_op_tbl(l_mst_c).process_flag := 'S' ;
805: l_master_op_tbl(l_mst_c).network_seq_num := i ;
806:
807: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
808: Error_Handler.Write_Debug('Added start node to Master Op Nwk Tbl . . . ' );
809: Error_Handler.Write_Debug('Mst : Row# ' || to_char(l_mst_c) || ' = '
810: || to_char(l_master_op_tbl(l_mst_c).from_op_seq_num)
811: || ' - ' || to_char(l_master_op_tbl(l_mst_c).from_op_seq_id)
812: );
805: l_master_op_tbl(l_mst_c).network_seq_num := i ;
806:
807: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
808: Error_Handler.Write_Debug('Added start node to Master Op Nwk Tbl . . . ' );
809: Error_Handler.Write_Debug('Mst : Row# ' || to_char(l_mst_c) || ' = '
810: || to_char(l_master_op_tbl(l_mst_c).from_op_seq_num)
811: || ' - ' || to_char(l_master_op_tbl(l_mst_c).from_op_seq_id)
812: );
813: END IF;
854: END LOOP;
855:
856:
857: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
858: Error_Handler.Write_Debug('Check all links in l_network_link_tbl exists in Master Op Tbl. . . ' );
859: END IF;
860:
861: -- Check all links in l_network_link_tbl exists in Master Op Tbl
862: FOR i IN 1..l_network_link_tbl.COUNT
869: )
870: THEN
871:
872: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
873: Error_Handler.Write_Debug('Error Broken Link exists on Nwk Row# '
874: || to_char(i) || ' - FROM : '
875: || to_char(l_network_link_tbl(i).from_op_seq_num)
876: || ' TO : '
877: || to_char(l_network_link_tbl(i).to_op_seq_num)
886: END LOOP ;
887:
888:
889: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
890: Error_Handler.Write_Debug('Check all connected links in Master Op tbl exists in all links. . . ' );
891: END IF;
892:
893: -- Check all connected links in Master Op tbl exists in all links
894: FOR i IN 1..l_master_op_tbl.COUNT
902: AND l_master_op_tbl(i).process_flag <> 'S'
903: THEN
904:
905: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
906: Error_Handler.Write_Debug('Error Broken Link exists on Master Row# '
907: || to_char(i) || ' - '
908: || to_char(l_master_op_tbl(i).from_op_seq_num)
909: );
910: END IF;
918:
919:
920: -- Check for Loops
921: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
922: Error_Handler.Write_Debug('Check for loops. . . ' );
923: END IF;
924:
925:
926: -- get a group of network links from master op tbl for multiple start node.
929: l_seq_num := 1 ;
930:
931: -- Check for Loops
932: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
933: Error_Handler.Write_Debug('Get a group of network links from master op tbl for multiple start node. . . ' );
934: END IF;
935:
936:
937: FOR i IN 1..l_master_op_tbl.COUNT
944: THEN
945: -- Check loop
946:
947: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
948: Error_Handler.Write_Debug('When nwk seq is changed, Check Loop for Network Link Seq Num ' || to_char(l_seq_num) );
949: END IF;
950: IF CheckLoopNwk (p_network_link_tbl => l_each_nwk_link_tbl)
951: THEN
952: -- Initialize nwk_c counter and l_each_nwk_link_tbl
956: ELSE
957:
958:
959: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
960: Error_Handler.Write_Debug('Loop exists in operation network : seq = ' || to_char(l_seq_num) );
961: END IF;
962:
963: FND_MESSAGE.SET_NAME('BOM','BOM_RTG_NTWK_LOOP_EXISTS');
964: x_err_msg:= FND_MESSAGE.GET;
996: END LOOP ;
997:
998: -- Check Loop
999: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1000: Error_Handler.Write_Debug('At the end of loop validation, Check loops for rest of network : seq = '
1001: || to_char(l_seq_num) );
1002: END IF ;
1003:
1004: IF CheckLoopNwk (p_network_link_tbl => l_each_nwk_link_tbl)
1007:
1008: ELSE
1009:
1010: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1011: Error_Handler.Write_Debug('Loop exists in operation network : seq = '
1012: || to_char(l_seq_num) );
1013: END IF ;
1014:
1015: FND_MESSAGE.SET_NAME('BOM','BOM_RTG_NTWK_LOOP_EXISTS');
1039: ( p_op_network_rec IN Bom_Rtg_Pub.Op_Network_Rec_Type
1040: , p_op_network_unexp_rec IN Bom_Rtg_Pub.Op_Network_Unexposed_Rec_Type
1041: , p_old_op_network_rec IN Bom_Rtg_Pub.Op_Network_Rec_Type
1042: , p_old_op_network_unexp_rec IN Bom_Rtg_Pub.Op_Network_Unexposed_Rec_Type
1043: , p_mesg_token_tbl IN Error_Handler.Mesg_Token_Tbl_Type
1044: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
1045: , x_return_status IN OUT NOCOPY VARCHAR2
1046: )
1047: IS
1040: , p_op_network_unexp_rec IN Bom_Rtg_Pub.Op_Network_Unexposed_Rec_Type
1041: , p_old_op_network_rec IN Bom_Rtg_Pub.Op_Network_Rec_Type
1042: , p_old_op_network_unexp_rec IN Bom_Rtg_Pub.Op_Network_Unexposed_Rec_Type
1043: , p_mesg_token_tbl IN Error_Handler.Mesg_Token_Tbl_Type
1044: , x_mesg_token_tbl IN OUT NOCOPY Error_Handler.Mesg_Token_Tbl_Type
1045: , x_return_status IN OUT NOCOPY VARCHAR2
1046: )
1047: IS
1048:
1045: , x_return_status IN OUT NOCOPY VARCHAR2
1046: )
1047: IS
1048:
1049: l_token_tbl Error_Handler.Token_Tbl_Type;
1050: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
1051: l_return_status VARCHAR2(1);
1052: l_cfm_flag NUMBER ;
1053:
1046: )
1047: IS
1048:
1049: l_token_tbl Error_Handler.Token_Tbl_Type;
1050: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
1051: l_return_status VARCHAR2(1);
1052: l_cfm_flag NUMBER ;
1053:
1054: BEGIN
1095:
1096: BEGIN
1097:
1098: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1099: Error_Handler.Write_Debug('Within eAM Rtg Network from operation validation API. . . ');
1100: END IF;
1101:
1102:
1103: -- Return Status
1114: LOOP
1115:
1116:
1117: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1118: Error_Handler.Write_Debug('from operation is duplicate in operation network : seq = '
1119: || to_char(p_from_op_seq_num) );
1120: END IF ;
1121:
1122: FND_MESSAGE.SET_NAME('BOM','BOM_OP_NWK_PMOP_NOTUNIQUE');
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
1289: ('Querying an operation sequence record : Seq ID '
1290: || to_char(p_op_node_rec.operation_sequence_id ) || '. . . ' ) ;
1291: END IF ;
1292:
1306: x_old_op_node_rec.Y_Coordinate := op_node_rec.Y_Coordinate ;
1307:
1308:
1309: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1310: Error_Handler.Write_Debug('Finished querying and assigning operation node record . . .') ;
1311: END IF ;
1312:
1313: l_return_status := BOM_Rtg_Globals.G_RECORD_FOUND ;
1314:
1380:
1381: BEGIN
1382:
1383:
1384: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1385: ('Within the Operation Node Populate null columns...') ;
1386: END IF ;
1387:
1388: -- Initialize operation exp and unexp record
1388: -- Initialize operation exp and unexp record
1389: x_op_node_rec := p_op_node_rec ;
1390:
1391:
1392: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1393: ('Populate null exposed columns......') ;
1394: END IF ;
1395:
1396:
1426:
1427:
1428: BEGIN
1429:
1430: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1431: ('Within the Operation Node Entity Defaulting...') ;
1432: END IF ;
1433:
1434: x_op_node_rec := p_op_node_rec ;
1447:
1448:
1449: EXCEPTION
1450: WHEN OTHERS THEN
1451: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1452: ('Some unknown error in Op Node Entity Defaulting . . .' || SQLERRM );
1453: END IF ;
1454:
1455:
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 . . .') ;
1498: END IF ;
1499:
1500: -- There is no validation in current release.
1501:
1502:
1503: EXCEPTION
1504: WHEN OTHERS THEN
1505: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1506: ('Some unknown error in Op Node Entity Validation . . .' || SQLERRM );
1507: END IF ;
1508:
1509:
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 ;
1546:
1547:
1545: END IF ;
1546:
1547:
1548: IF p_op_node_rec.transaction_type = BOM_Rtg_Globals.G_OPR_CREATE THEN
1549: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1550: ('Operation Sequence: Executing Insert Row. . . ') ;
1551: END IF;
1552:
1553: NULL ;
1553: NULL ;
1554:
1555: ELSIF p_op_node_rec.transaction_type = BOM_Rtg_Globals.G_OPR_UPDATE
1556: THEN
1557: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1558: ('Operatin Sequence: Executing Update Row. . . ') ;
1559: END IF ;
1560:
1561:
1573:
1574: ELSIF p_op_node_rec.transaction_type = BOM_Rtg_Globals.G_OPR_DELETE
1575: THEN
1576:
1577: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1578: ('Operatin Sequence: Executing Delete Row. . . ') ;
1579: END IF ;
1580:
1581: NULL ;
1584:
1585:
1586: EXCEPTION
1587: WHEN OTHERS THEN
1588: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1589: ('Some unknown error in Op Node Perform Writes . . .' || SQLERRM );
1590: END IF ;
1591:
1592: x_return_mesg := G_PKG_NAME || ' Utility (Op Node Perform Writes) '
1622:
1623: l_return_status VARCHAR2(1) ;
1624: l_return_mesg VARCHAR2(2000) ;
1625:
1626: l_mesg_token_tbl Error_Handler.Mesg_Token_Tbl_Type;
1627:
1628:
1629: EXC_SEV_QUIT_OBJECT EXCEPTION ;
1630: EXC_UNEXP_SKIP_OBJECT EXCEPTION ;
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 . . .' ) ;
1643: END IF ;
1644:
1645:
1744: -- Process flow step : Populate NULL columns for Update and Delete
1745: --
1746:
1747: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1748: Error_Handler.Write_Debug('Populate NULL columns') ;
1749: END IF ;
1750:
1751: Bom_Rtg_Eam_Util.Op_Node_Populate_Null_Columns
1752: ( p_op_node_rec => l_op_node_rec
1760: --
1761: -- Process Flow step : Default missing values for Op Nodes (CREATE)
1762:
1763: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1764: Error_Handler.Write_Debug('Attribute Defaulting') ;
1765: END IF ;
1766:
1767: END IF ;
1768:
1780: , x_return_status => l_return_status
1781: ) ;
1782:
1783: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
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
1830:
1831:
1832:
1833: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN
1834: Error_Handler.Write_Debug('Entity validation completed with '
1835: || l_return_Status || ' proceeding for database writes . . . ') ;
1836: END IF;
1837:
1838: --
1929:
1930: FOR I IN 1..p_op_link_tbl.COUNT LOOP
1931:
1932:
1933: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
1934: ('Getting Operation Network Record . . .');
1935: END IF ;
1936:
1937: nwk_c:= nwk_c + 1 ; --counter for operation networks
1991: *****************************************************************************/
1992: PROCEDURE Operation_Links
1993: ( p_op_link_tbl IN Bom_Rtg_Eam_Util.Op_Link_Tbl_Type
1994: , x_op_link_tbl IN OUT NOCOPY Bom_Rtg_Eam_Util.Op_Link_Tbl_Type
1995: , x_message_list IN OUT NOCOPY Error_Handler.Error_Tbl_Type
1996: , x_return_status IN OUT NOCOPY VARCHAR2
1997: )
1998: IS
1999:
2013:
2014: l_return_status VARCHAR2(1);
2015: l_unexp_error VARCHAR2(1000);
2016: l_msg_count NUMBER := 0;
2017: l_message_list Error_Handler.Error_Tbl_Type ;
2018:
2019:
2020:
2021:
2023:
2024: SAVEPOINT init_operation_link ;
2025:
2026:
2027: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2028: ('Create op_network_tbl from p_op_link_tbl. . . ');
2029: END IF ;
2030:
2031:
2034: , x_op_network_tbl => l_op_network_tbl
2035: ) ;
2036:
2037:
2038: IF BOM_Rtg_Globals.Get_Debug = 'Y' THEN Error_Handler.Write_Debug
2039: ('Call Routing Business Object Public API . . . ');
2040: END IF ;
2041:
2042: Bom_Rtg_Pub.Process_Rtg
2062:
2063:
2064: -- Check the return status and error handling
2065: -- If error is returned re-initialize applet again.
2066: Error_Handler.get_entity_message
2067: ( p_entity_id => 'NWK'
2068: , x_message_list => l_message_list
2069: );
2070: