Loading

Configuring Propagation Rules for Unbound Inherited Attributes in Complex Inheritance Models

Udgivelsesdato: Jun 29, 2026
Beskrivelse

The issue occurs within configuration models that rely on object-oriented type inheritance for rollups and service calculations. In complex inheritance models, child types inherit all quantity attributes from their parent type. If a child type does not explicitly bind or constrain an inherited attribute, the configuration engine treats it as "unbound." During propagation, the engine may automatically adjust these unbound attributes to negative numbers to satisfy modeling rules (e.g., rolling up an empty relation total to a negative value instead of stopping at zero). This creates inaccurate totals that break downstream logic, such as service attach rules. To prevent this behavior, modelers must manually constrain all unused, inherited quantity attributes to 0 in every child class.

Løsning

To resolve this issue and prevent the engine from driving unbound inherited attributes to negative numbers during propagation, you must implement explicit zero-binding constraints.

Because the engine views any unconstrained inherited property as a flexible variable, you must explicitly tell the engine that these properties have a fixed value of 0 when they do not apply to a specific child subtype.

type Bundle {

  @(configurable = false)

  int laptopQty;



  @(configurable = false)

  int printerQty;



}

type PrinterBundle : Bundle {
 ...
 
 constraint(laptopQty == 0);
 
}
 
type LaptopBasicBundle : Bundle {
 ...
 
 constraint(printerQty == 0);
 
}
Vidensartikelnummer

005385904

 
Indlæser
Salesforce Help | Article