renhao
2023-09-21 1aa9f2bb83dd9e4b7517f1cbf06b0db53979bb31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Quintiq file version 2.0
#parent: #root
DeclarativeReferenceRelation CalcNewSupplyCost
{
  #keys: '1[134266.1.16794768]'
  Expression:
  [*
    /* We add this relation for cost calculation to avoid circular
       e.g: Prime, Scrap -> [Caster] -> Molten -> [Hot mil] -> Hot roll, Scrap
            If we include by product (Scrap), we will get circular when traversing upstream product
    */
    ns := this.NewSupply();
    
    if( guard( this.NewSupply().ProductInStockingPointInPeriodPlanning().ProductInStockingPoint_MP().Product_MP().IsDerivedByProduct(), false ) )
    {
      ns := null( NewSupply );
    }
    
    return ns;
  *]
  Relation: NewSupplyCost
}