Quintiq file version 2.0
|
#parent: #root
|
Method GetSet (String datasetKind_i, String datasetName_i, String setTypeName_i,
|
String setName_i, Boolean setFoundRequired_i) as LibDMF_Set
|
{
|
Description:
|
[*
|
Retrieve the Set based on dataset kind, dataset name, settype name and set name
|
The flag setFoundRequired_i is used to determine if the transaction will fail when no set can be found.
|
*]
|
TextBody:
|
[*
|
set := null( LibDMF_Set );
|
channelRoot := this.CommunicationChannelRoot();
|
|
if( channelRoot.IsDataManager() )
|
{
|
setType := this.GetSetType( datasetKind_i, datasetName_i, setTypeName_i );
|
|
if( not isnull( setType ) )
|
{
|
set := LibDMF_Set::FindSet( setName_i );
|
|
// Retrieve IntegrationEvent.
|
event := channelRoot.EventGetLast( datasetKind_i, datasetName_i );
|
systemOnChannel := this.GetSystemOnChannel( datasetKind_i, datasetName_i );
|
|
// for error checking
|
if( isnull( set ) )
|
{
|
logerror := "Set '" + setName_i + "' not found; Channel = " + this.Name() + ", QProduct = " + systemOnChannel.QProductName() + ", System = " + systemOnChannel.SystemName() + ", SetType = " + setTypeName_i;
|
|
// log the event as failed if the set must be found
|
if( setFoundRequired_i )
|
{
|
channelRoot.EventLogActivityError( event,
|
"Set '" + setName_i + "' not found",
|
logerror );
|
}
|
}
|
else
|
{
|
// checks if the set type belongs to the set type
|
if( not set.SetType() = setType)
|
{
|
// reset to null
|
set := null( LibDMF_Set );
|
|
logerror := "Set '" + setName_i + "' not owned by Set Type " + setTypeName_i + "; Channel = " + this.Name() + ", QProduct = " + systemOnChannel.QProductName() + ", System = " + systemOnChannel.SystemName();
|
|
// log the event as failed if the set must be found
|
if( setFoundRequired_i )
|
{
|
channelRoot.EventLogActivityError( event,
|
"Set '" + setName_i + "' not owned by Set Type " + setTypeName_i,
|
logerror );
|
}
|
else
|
{
|
// log warning
|
channelRoot.EventLogActivityWarning( event,
|
logerror );
|
}
|
}
|
}
|
}
|
}
|
|
return set;
|
*]
|
}
|