Runtime/Behavior Changes

COM Material Quantity

COMPart.adjustedLength() now obtains quantities through the parent ProdPart.materialQty() method, using comMaterialQtyColumn.key. It sums positive quantities from parent options whose code matches the COM part's materialCode.

Previously, the calculation required an adjustment on the parent and read only adjusted option lengths. It now also includes catalog quantities supplied by DsPart and quantities supplied by extension overrides, even when the parent has no adjustment. Existing option adjustments take precedence in the base and data-symbol implementations.

For example, a matching option with a catalog material quantity of 2.5 now contributes 2.5 to the COM length without a user adjustment. Adjusting that option to 3.0 makes it contribute 3.0 instead. Zero and negative quantities do not contribute to the total.

Extensions that override this calculation or depend on COM lengths being zero until adjusted should review their behavior. See cm.abstract.part for the shared method and cm.abstract.dataSymbol for catalog lookup precedence.