| 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 | 
| } |