| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod Assign ( | 
|   Account_MP owner, | 
|   StockingPoint_MP sp, | 
|   String costdriver | 
| ) as StockingPointAccount | 
| { | 
|   Description: 'Create assignment between account and stocking point' | 
|   TextBody: | 
|   [* | 
|     // ying ying Nov-4-2013 (created) | 
|     // Find any stocking point acount that has the same account and cost driver | 
|     stockingpointaccount := select( sp, StockingPointAccount, spa, | 
|                                     spa.Account_MP() = owner | 
|                                     and spa.CostDriver() = costdriver ); | 
|      | 
|     // If we cannot find any, create a new unit account | 
|     if( isnull( stockingpointaccount ) ) | 
|     { | 
|       stockingpointaccount := owner.AccountAssignment( relnew, | 
|                                                        StockingPointAccount, | 
|                                                        StockingPoint_MP := sp, // To prevent calling propagate when creating cost | 
|                                                        StockingPointID :=  sp.ID(), | 
|                                                        CostDriver := costdriver ); | 
|      | 
|       stockingpointaccount.Update( owner, costdriver ); | 
|     } | 
|      | 
|     return stockingpointaccount; | 
|   *] | 
| } |