Quintiq file version 2.0
|
#parent: #root
|
Method Update (
|
Product_MP owner,
|
StockingPoint_MP stockingpoint,
|
Date start,
|
Boolean hastargetindays,
|
Real targetindays,
|
Real targetinquantity,
|
Boolean hasminlevelindays,
|
Real minlevelindays,
|
Real minlevelinquantity,
|
Boolean hasmaxlevel,
|
Boolean hasmaxlevelindays,
|
Real maxlevelindays,
|
Real maxlevelinquantity,
|
Boolean iscalculated,
|
Boolean isfromdb
|
)
|
{
|
Description: 'Update inventory specification'
|
TextBody:
|
[*
|
// Update type index of inventory specification
|
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.InventorySpecification( relmove, this );
|
|
// create pisp when there is changes to product / stocking point
|
owner.AddToStockingPoint( stockingpoint );
|
}
|
|
|
this.HasTargetInDays_DELETED_Nov19( hastargetindays )
|
this.TargetInDays_DELETED_Nov19( targetindays );
|
|
// 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_DELETED_Nov19() = targetinquantity ) and not iscalculated ) )
|
{
|
this.IsCalculated( iscalculated );
|
}
|
this.TargetInQuantity_DELETED_Nov19( targetinquantity );
|
|
// Check if inventory specification has target in days
|
if( hastargetindays )
|
{
|
this.TargetInQuantity_DELETED_Nov19( 0 );
|
this.IsCalculated( iscalculated );
|
}
|
else
|
{
|
this.TargetInDays_DELETED_Nov19( 0 );
|
}
|
|
this.HasMinLevelInDays( hasminlevelindays );
|
this.MinLevelInDays( minlevelindays );
|
this.MinLevelInQuantity( minlevelinquantity );
|
// Check if inventory specification has min level in days
|
if( hasminlevelindays )
|
{
|
this.MinLevelInQuantity( 0 );
|
}
|
else
|
{
|
this.MinLevelInDays( 0 );
|
}
|
|
this.HasMaxLevel( hasmaxlevel );
|
this.HasMaxLevelInDays( hasmaxlevelindays );
|
this.MaxLevelInDays( maxlevelindays );
|
this.MaxLevelInQuantity( maxlevelinquantity );
|
// Check if inventory specification has max level
|
if( hasmaxlevel )
|
{
|
// Check if inventory specification has max level in days
|
if( hasmaxlevelindays )
|
{
|
this.MaxLevelInQuantity( 0 );
|
}
|
else
|
{
|
this.MaxLevelInDays( 0 );
|
}
|
}
|
else
|
{
|
this.MaxLevelInQuantity( 0 );
|
this.MaxLevelInDays( 0 );
|
}
|
|
this.IsManuallyConfigured( not isfromdb );
|
*]
|
}
|