Quintiq file version 2.0
|
#parent: #root
|
Method UpdateTypeIndex (
|
String name
|
)
|
{
|
Description: 'Update sales segment TypeIndex.'
|
TextBody:
|
[*
|
// Execute the logic below only if the new name is not the same as the old name
|
if( name <> this.Name() )
|
{
|
// Update foreign key of this SalesSegment_MPs' children SalesSegment_MPs
|
traverse( this, Child, c )
|
{
|
c.UpdateForeignKey( name );
|
}
|
|
// Update type index of this SalesSegment_MPs' FulfillmentRestrictions
|
traverse( this, FulfillmentRestriction, fr )
|
{
|
fr.UpdateTypeIndex( name, fr.ProductID(), fr.StartDate() );
|
}
|
|
// Update foreign key of this SalesSegment_MPs' SalesDemands
|
traverse( this, SalesDemand, sdemand )
|
{
|
sdemand.UpdateForeignKey( sdemand.ProductID(),
|
sdemand.StockingPointID(),
|
name,
|
sdemand.PriorityName(),
|
sdemand.CurrencyID(),
|
sdemand.UnitOfMeasureName() );
|
}
|
|
// Update type index of this SalesSegment_MPs' PostponementSpecification
|
if( not isnull( this.PostponementSpecification() ) )
|
{
|
this.PostponementSpecification().UpdateTypeIndex( name );
|
}
|
|
// Update foreign key of this SalesSegment_MPs' SalesLevel
|
traverse( this, ServiceLevelBase, sl )
|
{
|
sl.UpdateForeignKey( sl.ProductID(), sl.StockingPointID(), name );
|
}
|
|
// Update type index of this SalesSegment_MP
|
SalesSegment_MP::ChangeKeySalesSegmentTypeIndex( this, name );
|
}
|
*]
|
}
|