Quintiq file version 2.0
|
#parent: #root
|
Method Update (
|
Product_MP owner,
|
StockingPoint_MP stockingpoint,
|
Date start,
|
Boolean hastargetindays,
|
Real targetindays,
|
Real targetinquantity,
|
Boolean iscalculated,
|
Boolean hasUserTarget,
|
Boolean isfromdb
|
)
|
{
|
Description: 'Update safety stock'
|
TextBody:
|
[*
|
// Update type index of safetystock
|
this.UpdateTypeIndex( owner.ID(), stockingpoint.ID(), start );
|
needsync := this.Product_MP() <> owner or this.StockingPoint_MP() <> stockingpoint;
|
|
// Check if there are any changes to product/stocking point
|
if( needsync )
|
{
|
owner.SafetyStock( relmove, this );
|
// create pisp when there is changes to product / stocking point
|
owner.AddToStockingPoint( stockingpoint );
|
}
|
this.HasTargetInDays( hastargetindays )
|
|
// If TargetInQuantity is not changed on the dialog then IsCalculated value should not be updated.
|
// iscalculated parameter is always send as false from the dialog and always send as true from the generate safety stock method.
|
if( not ( ( this.TargetInQuantity() = targetinquantity ) and not iscalculated ) )
|
{
|
this.IsCalculated( iscalculated );
|
}
|
|
if ( iscalculated and not hasUserTarget )
|
{
|
this.OptimizerTargetInQuantity( targetinquantity );
|
}
|
if ( hasUserTarget )
|
{
|
if( hastargetindays )
|
{
|
this.UserTargetInQuantity( 0 );
|
this.UserTargetInDays( targetindays );
|
}
|
else
|
{
|
this.UserTargetInQuantity( targetinquantity );
|
this.UserTargetInDays( 0 );
|
}
|
}
|
|
this.HasUserTarget( hasUserTarget );
|
this.IsManuallyConfigured( not isfromdb );
|
*]
|
}
|