Quintiq file version 2.0
|
#parent: #root
|
StaticMethod PlanningDatasetOnDestruct (const MDSObject mdsObject_i)
|
{
|
Description:
|
[*
|
A collection of API methods that should be implemented on the planning dataset's OnDestruct body.
|
This is a wrapper API method for easier implementation by the QSes.
|
*]
|
TextBody:
|
[*
|
dbDataset := LibDEF_DataBroker::GetDataset();
|
|
dbDataset->Exception()
|
->( e ){
|
// Possible consequences of failure:
|
// - The DataBroker will not be aware that the particular planning dataset is offline/deleted, DatasetInterest will remain valid.
|
// Secondary solution:
|
// - The DataBroker will notice that the planning dataset is offline when it's back online.
|
// - If the planning dataset is permanently deleted (Memory-only dataset) then the DatasetInterest has to be deleted manually.
|
// Method LibDEF_SetInterestOfDataset.Delete( false ) should be used.
|
LibDEF_Util::LogWarning( "LibDEF_API::PlanningDatasetOnDestruct() fails due to unavailable LibDEF_DataBroker." );
|
}
|
|
// When a memory-only dataset is unloaded, it is deleted permanently
|
if( mdsObject_i.State() = MDSInterface::MemoryOnlyState() )
|
{
|
// Job: When deleting a dataset permanently, delete its dataset-interests.
|
dbDataset->DatasetDelete( mdsObject_i.MDSID() );
|
}
|
else
|
{
|
// Job: When unloading a dataset, leave the dataset-interests and update Set's owner/System if required.
|
dbDataset->DatasetUnload( mdsObject_i.MDSID() );
|
}
|
*]
|
}
|