Quintiq file version 2.0
|
#parent: #root
|
Method UpdateTypeIndex (
|
String operationid
|
)
|
{
|
Description: 'Update operation TypeIndex and the linked instances.'
|
TextBody:
|
[*
|
// Update type indices if the current Operation ID is not the same as the new ID
|
if( this.ID() <> operationid )
|
{
|
// Update foreign key of all linked OperationInputOutput
|
traverse( this, OperationInputOutput, rio )
|
{
|
rio.UpdateForeignKey( operationid,
|
guard( rio.ProductInStockingPoint_MP().ProductID(), '' ),
|
guard( rio.ProductInStockingPoint_MP().StockingPointID(), '' ) );
|
}
|
|
// Update type index of all linked PeriodTaskOperation
|
traverse( this, PeriodTaskOperation, ptr )
|
{
|
ptr.UpdateTypeIndex( ptr.StartAsTypeIndex(), operationid );
|
}
|
|
// Update foreign key of all linked OperationCost
|
traverse( this, OperationCost, oc )
|
{
|
oc.UpdateForeignKey( operationid );
|
}
|
|
// Update type index of all linked OperationInCampaignType
|
traverse( this, OperationInCampaignType, rict )
|
{
|
rict.UpdateTypeIndex( operationid, rict.CampaignTypeName(), rict.UnitID() );
|
}
|
|
// Update foreign key of all linked FeedbackPeriodTaskOperation
|
traverse( this, FeedbackPeriodTaskOperation, fptr )
|
{
|
fptr.UpdateForeignKey( operationid );
|
}
|
|
// Update type index of all linked SourceOperationLink
|
traverse( this, SourceOperationLink, sol )
|
{
|
sol.UpdateTypeIndex( operationid, sol.DestOperationID() );
|
}
|
|
// Update type index of all linked DestinationOperationLink
|
traverse( this, DestinationOperationLink, dol )
|
{
|
dol.UpdateTypeIndex( dol.SourceOperationID(), operationid );
|
}
|
|
// Update type index of all linked OperationBOM
|
traverse( this, OperationBOM, oiopl )
|
{
|
oiopl.UpdateTypeIndex( operationid, oiopl.ProductID(), oiopl.StockingPointID(), oiopl.IsInput() );
|
}
|
|
// Update type index of all linked OperationInputGroup
|
traverse( this, OperationInputGroup, oig )
|
{
|
oig.UpdateTypeIndex( operationid, oig.InputGroupID() );
|
}
|
|
// Update type index of all linked OperationInputSet
|
traverse( this, OperationInputSet, ois )
|
{
|
ois.UpdateTypeIndex( ois.Name(), operationid );
|
}
|
|
// Update type index of all linked OperationInTransitionType
|
traverse( this, OperationInTransitionType, oit )
|
{
|
oit.UpdateTypeIndex( operationid, oit.TransitionTypeName(), oit.UnitID() );
|
}
|
|
// Update type index of this Operation
|
Operation::ChangeKeyOperationTypeIndex( this, operationid );
|
this.IsManuallyConfigured( true );
|
}
|
*]
|
}
|