Quintiq file version 2.0
|
#parent: #root
|
Method ImportXML (
|
BinaryValue xml,
|
Scenario scenario
|
)
|
{
|
Description: 'Import data from XML'
|
TextBody:
|
[*
|
// Import from XML
|
tempfilename := OS::TempFilename( OS::TempPath() );
|
progress( 'Creating temporary xml', DateTime::ActualTime() );
|
tempfile := OSFile::Construct( tempfilename );
|
if( not isnull( tempfile ) )
|
{
|
tempfile.ReadWriteMode( 'ReadWrite' );
|
tempfile.Open();
|
tempfile.WriteBinary( xml );
|
tempfile.Flush();
|
tempfile.Close();
|
|
progress( 'Delete all data', DateTime::ActualTime() );
|
this.DeleteAllData();
|
|
progress( 'Propagation', DateTime::ActualTime() );
|
// Recalculate the declarative attributes and relations after data deletion.
|
Transaction::Transaction().Propagate();
|
|
info( 'Import from xml file', DateTime::ActualTime() );
|
XMLIO::Import( tempfilename, this );
|
|
progress( 'Removing xml file', DateTime::ActualTime() );
|
OS::RemoveFile( tempfilename );
|
|
//re-create supply chain view in case it is deleted (only happens in thin client)
|
this.CreateSupplyChainView( GlobalParameters_MP::GetUserName() );
|
}
|
|
if( not isnull( this.PeriodParameter_MP() ) )
|
{
|
progress( 'Synchronizing periods', DateTime::ActualTime() );
|
this.CalculateKPIScore( false );
|
}
|
|
this.ScenarioName( scenario.Name() );
|
*]
|
}
|