Loading
ただいま大変多くのお問い合わせをいただいており、ご連絡までにお時間を頂戴しております続きを読む

Configuring Propagation Rules for Unbound Inherited Attributes in Complex Inheritance Models

公開日: Jun 29, 2026
説明

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.

解決策

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);
 
}
ナレッジ記事番号

005385904

 
読み込み中
Salesforce Help | Article