Here is a more detailed drawing I made (referenced earlier)…
@startuml
hide circle
' avoid problems with angled crows feet
skinparam linetype ortho
entity "Part" as part {
*INDEX: Company, Part
--
costing method
}
entity "Plant" as plant {
*INDEX: Company, Plant
--
*PlantCostID
}
entity "Warehouse" as warehouse {
*INDEX: Company, Warehouse
--
* Plant
*ABCOCode Rules
}
entity "PartPlant" as partPlant {
*INDEX: Company, Part, Plant
--
*CostID
}
entity "PlantWhse" as plantWhse {
*INDEX: Company, Part, Plant, Whse
--
*PrimBin
}
entity "PartWhse" as partWhse {
*INDEX: Company, Part, Whse
--
Data Available:
* total Onhand by warehouse
* totalAllocations by warehouse
}
entity "PartBin" as partBin {
*INDEX: Company, Part, Whse, Bin, Lot
--
Data Available:
* Onhand by warehouse/bin/Lot
* Allocations
}
entity "PartBinInfo" as partBinInfo {
*INDEX: Company, Part, Whse, Bin
--
Data available:
* total onhand at the Warehouse/Bin (summarized)
* Min/max for kanbans
}
entity "PartCost" as partCost {
*INDEX: Company, Part, CostID
}
entity "PartLot" as partLot {
*INDEX: Company, Part, LotNum
--
Onhand
Cost (if lot costing)
}
part .{ partPlant
partPlant ..{ plantWhse
partPlant --> plant
plantWhse ..{ partWhse
partWhse ..{ partBinInfo
partBinInfo .{ partBin
partCost <-- partPlant
partCost <-- plant
partLot <-- partBin
warehouse <- plantWhse
warehouse <-- partWhse
'warehouse <-- partBinInfo
warehouse --> plant
plantWhse --> plant
@enduml