Quintiq file version 2.0
|
#parent: #root
|
Method CopyDataset () as LibOpt_SnapshotReplannableCopyDataset
|
{
|
Description:
|
[*
|
This method creates a copy of the current dataset. It also creates a `LibOpt_SnapshotReplannableCopyDataset` snapshot that will be shown in the 'Snapshots' and 'Replannable snapshots' forms.
|
Note that if dataset copies are disabled (so if `this.Run().IsCreatingDatasetCopiesEnabled()` is `false`), then this method will return `null( LibOpt_SnapshotReplannableCopyDataset )`.
|
If you want to log any additional information, please use `LibOpt_Task.Log( description, snapshot )` and pass the `LibOpt_SnapshotReplannableCopyDataset`.
|
This will create a `LibOpt_SnapshotInfo` snapshot in the 'Snapshots' form. This snapshot is a child of the `LibOpt_SnapshotReplannableCopyDataset` snapshot.
|
When the `LibOpt_SnapshotReplannableCopyDataset` snapshot is null, then the `LibOpt_SnapshotInfo` snapshot is added as a child of the `task.SnapshotComponent()` snapshot.
|
*]
|
TextBody:
|
[*
|
// evr3 May-20-2020 (created)
|
|
snapshot := null( LibOpt_SnapshotReplannableCopyDataset );
|
|
// An AE should be able to start a run while being sure that no dataset copies are made. The AE can do this by setting the IsCreatingDatasetCopiesEnabled attribute to false.
|
// If you want to create a dataset copy regardless of the value of the IsCreatingDatasetCopiesEnabled attribute, then please consider calling LibOpt_DatasetCopyConditional::CopyDataset directly.
|
if( this.Run().IsCreatingDatasetCopiesEnabled() )
|
{
|
snapshot := LibOpt_DatasetCopyConditional::CopyDataset( this,
|
"AE Created", // By default, this string will be used as a suffix in the name of the created dataset. The sting will also show up in `Type` column of the snapshot form.
|
true // Create a slow copy that is robust against errors and rollbacks in the same transaction.
|
);
|
}
|
|
return snapshot;
|
*]
|
}
|