Quintiq file version 2.0 
 | 
#parent: #root 
 | 
DeclarativeReferenceRelation CalcCurrencyInPeriod 
 | 
{ 
 | 
  #keys: '1[123718.0.362599966]' 
 | 
  Expression: 
 | 
  [* 
 | 
    // Use the pispip's relation if they have matching currencies 
 | 
    cip := guard( this.AsSalesDemandInPeriodBase().CurrencyInPeriod(), null( CurrencyInPeriod ) ); 
 | 
    period := guard( this.AsSalesDemandInPeriodBase().Period_MP(), null( Period_MP ) ); 
 | 
    if( not isnull( this.Currency_MP() )  
 | 
        and not isnull( period ) 
 | 
        and guard( this.Currency_MP() <> this.ProductInStockingPoint_MP().StockingPoint_MP().Currency_MP(), false ) ) 
 | 
    { 
 | 
      cip := select( this, 
 | 
                     Currency_MP.CurrencyInPeriod, 
 | 
                     c, 
 | 
                     c.Period_MP() = period ); 
 | 
    } 
 | 
     
 | 
    return cip; 
 | 
  *] 
 | 
  Relation: CurrencyInPeriod 
 | 
} 
 |