871: record_count NUMBER;
872: BEGIN
873: record_count := p_bom_sub_component_tbl.COUNT;
874:
875: if Bom_Globals.Get_Debug = 'Y' THEN
876: Error_Handler.write_debug('Substitute comps check for same BOM ' ||
877: p_assembly_item_name ||
878: ' org ' ||
879: p_organization_code || ' processing records ' || p_bom_sub_component_tbl.COUNT);
904: record_count NUMBER;
905: BEGIN
906: record_count := p_bom_comp_ops_tbl.COUNT;
907:
908: if Bom_Globals.Get_Debug = 'Y' THEN
909: Error_Handler.write_debug('Component Operations check for same BOM ' ||
910: p_assembly_item_name ||
911: ' org ' ||
912: p_organization_code || ' processing records ' || record_count);
1331: --
1332: -- Set Business Object Idenfier in the System Information
1333: -- record.
1334: --
1335: Bom_Globals.Set_Bo_Identifier
1336: (p_bo_identifier => p_bo_identifier);
1337:
1338: --
1339: -- Initialize the message list if the user has set the
1415: l_debug_flag := 'N';
1416:
1417: END IF;
1418:
1419: BOM_Globals.Set_Debug(l_debug_flag);
1420:
1421: IF l_debug_flag = 'Y'
1422: THEN
1423: Error_Handler.Open_Debug_Session
1429: );
1430:
1431: IF l_return_status <> FND_API.G_RET_STS_SUCCESS
1432: THEN
1433: BOM_Globals.Set_Debug('N');
1434: END IF;
1435: END IF;
1436: END IF;
1437:
1435: END IF;
1436: END IF;
1437:
1438:
1439: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('The BO as passed '); end if;
1440: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('Header Rec: ' || p_bom_header_rec.assembly_item_name); end if;
1441: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('Num of Components: ' || p_bom_component_tbl.COUNT); end if;
1442: IF (p_bom_component_tbl.COUNT > 0) THEN
1443: IF bom_globals.get_debug = 'Y' then
1436: END IF;
1437:
1438:
1439: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('The BO as passed '); end if;
1440: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('Header Rec: ' || p_bom_header_rec.assembly_item_name); end if;
1441: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('Num of Components: ' || p_bom_component_tbl.COUNT); end if;
1442: IF (p_bom_component_tbl.COUNT > 0) THEN
1443: IF bom_globals.get_debug = 'Y' then
1444: Error_Handler.Write_Debug('Assembly key in Component: ' || p_bom_component_tbl(1).assembly_item_name);
1437:
1438:
1439: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('The BO as passed '); end if;
1440: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('Header Rec: ' || p_bom_header_rec.assembly_item_name); end if;
1441: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('Num of Components: ' || p_bom_component_tbl.COUNT); end if;
1442: IF (p_bom_component_tbl.COUNT > 0) THEN
1443: IF bom_globals.get_debug = 'Y' then
1444: Error_Handler.Write_Debug('Assembly key in Component: ' || p_bom_component_tbl(1).assembly_item_name);
1445: END IF;
1439: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('The BO as passed '); end if;
1440: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('Header Rec: ' || p_bom_header_rec.assembly_item_name); end if;
1441: IF bom_globals.get_debug = 'Y' THEN error_handler.write_debug('Num of Components: ' || p_bom_component_tbl.COUNT); end if;
1442: IF (p_bom_component_tbl.COUNT > 0) THEN
1443: IF bom_globals.get_debug = 'Y' then
1444: Error_Handler.Write_Debug('Assembly key in Component: ' || p_bom_component_tbl(1).assembly_item_name);
1445: END IF;
1446: end if;
1447:
1444: Error_Handler.Write_Debug('Assembly key in Component: ' || p_bom_component_tbl(1).assembly_item_name);
1445: END IF;
1446: end if;
1447:
1448: IF bom_globals.get_debug = 'Y' then error_handler.write_debug('Num of Substitute: ' || p_bom_sub_component_tbl.COUNT); END IF;
1449: IF bom_globals.get_debug = 'Y' then error_handler.write_debug('Num of Ref. Desgs: ' || p_bom_ref_designator_tbl.COUNT); END IF;
1450:
1451: --
1452: -- Verify if all the entity record(s) belong to the same
1445: END IF;
1446: end if;
1447:
1448: IF bom_globals.get_debug = 'Y' then error_handler.write_debug('Num of Substitute: ' || p_bom_sub_component_tbl.COUNT); END IF;
1449: IF bom_globals.get_debug = 'Y' then error_handler.write_debug('Num of Ref. Desgs: ' || p_bom_ref_designator_tbl.COUNT); END IF;
1450:
1451: --
1452: -- Verify if all the entity record(s) belong to the same
1453: -- business object
1454: --
1455:
1456: if p_bom_sub_component_tbl.COUNT <> 0
1457: then
1458: if bom_globals.get_debug = 'Y'
1459: then
1460: for xx in 1..p_bom_sub_component_tbl.COUNT
1461: loop
1462: error_handler.write_debug('Substitute Component: ' || p_bom_sub_component_tbl(xx).substitute_component_name || ' Assembly ' || p_bom_sub_component_tbl(xx).assembly_item_name
1512:
1513: --
1514: -- Set Organization Id in the System Information record.
1515: --
1516: Bom_Globals.Set_Org_Id( p_org_id => l_organization_id);
1517:
1518: --
1519: -- Set Application Id in the appication context and set the
1520: -- fine-grained security policy on bom_alternate_designators
1585: , x_bom_sub_component_tbl => x_bom_sub_component_tbl
1586: , x_bom_comp_ops_tbl => x_bom_comp_ops_tbl
1587: );
1588:
1589: Bom_Globals.Set_Org_Id( p_org_id => NULL);
1590: Bom_Globals.Set_Eco_Name( p_eco_name => NULL);
1591:
1592: IF l_return_status <> 'S'
1593: THEN
1586: , x_bom_comp_ops_tbl => x_bom_comp_ops_tbl
1587: );
1588:
1589: Bom_Globals.Set_Org_Id( p_org_id => NULL);
1590: Bom_Globals.Set_Eco_Name( p_eco_name => NULL);
1591:
1592: IF l_return_status <> 'S'
1593: THEN
1594: -- Call Error Handler
1625: THEN
1626: Error_Handler.Write_To_ConcurrentLog;
1627: END IF;
1628:
1629: IF Bom_Globals.Get_Debug = 'Y' AND p_write_err_to_debugfile = 'Y'
1630: THEN
1631: Error_Handler.Write_To_DebugFile;
1632: Error_Handler.Close_Debug_Session;
1633: END IF;
1658: );
1659:
1660: x_return_status := Error_Handler.G_STATUS_ERROR;
1661: x_msg_count := Error_Handler.Get_Message_Count;
1662: IF Bom_Globals.Get_Debug = 'Y'
1663: THEN
1664: Error_Handler.Dump_Message_List;
1665: Error_Handler.Close_Debug_Session;
1666: END IF;
1689: );
1690:
1691: x_return_status := Error_Handler.G_STATUS_UNEXPECTED;
1692: x_msg_count := Error_Handler.Get_Message_Count;
1693: IF Bom_Globals.Get_Debug = 'Y'
1694: THEN
1695: Error_Handler.Dump_Message_List;
1696: Error_Handler.Close_Debug_Session;
1697: END IF;
3733: l_bom_header_rec.DG_Description := l_input_bomheader_rec.DG_Description;
3734:
3735: END IF;
3736:
3737: IF (l_bom_header_rec.Transaction_Type = BOM_Globals.G_OPR_UPDATE) Then
3738: l_token_tbl(1).token_name := 'ASSEMBLY_ITEM_NAME';
3739: l_token_tbl(1).token_value := l_bom_header_rec.assembly_item_name;
3740: l_token_tbl(2).token_name := 'ORGANIZATION_CODE';
3741: l_token_tbl(2).token_value := l_bom_header_rec.organization_code ;
3754: , x_bom_ref_designator_tbl => x_bom_ref_designator_tbl_out
3755: , x_bom_sub_component_tbl => x_bom_sub_component_tbl_out
3756: );
3757: x_msg_count := Error_Handler.Get_Message_Count;
3758: IF bom_globals.get_debug = 'Y' then
3759: Error_Handler.Write_Debug('Cannot have transaction type of UPDATE for product family Bills');
3760: END IF;
3761: ELSE
3762: IF l_input_bomcomponents_tbl IS NOT NULL THEN