Quintiq file version 2.0
|
#parent: #root
|
Method GetSetOfInterest (LibDMF_SystemOnChannel soc_i, String hierarchyName_i, output String feedback_o) as LibDMF_Set
|
{
|
Description: 'Retrieve the Set in the DataManager which the SOC is interested in, returns null if not used in DataManager.'
|
TextBody:
|
[*
|
// Retrieve IntegrationEvent
|
root := this.CommunicationChannelRoot();
|
event := root.EventGetLast( soc_i.DatasetKind(), soc_i.DatasetName() );
|
|
set := null( LibDMF_Set );
|
|
if( this.CommunicationChannelRoot().IsDataManager() )
|
{
|
hierarchy := select( this, Hierarchy, hier, hier.Name() = hierarchyName_i );
|
|
if( not isnull( hierarchy ) )
|
{
|
if( counter( hierarchy, SetType.Set, s, true ) = 0 )
|
{
|
feedback_o := "No Sets found for Hierarchy " + hierarchyName_i + "; Channel = " + this.Name();
|
}
|
else
|
{
|
// Just take one of the Sets in which the System is interested.
|
set := select( hierarchy, SetType.Set, s,
|
exists( s, Interest, interest,
|
interest.SystemOnChannel() = soc_i ) );
|
|
if( isnull( set ) )
|
{
|
feedback_o := "No interest specified in any of the Sets of Hierarchy " + hierarchyName_i + "; Channel = " + this.Name();
|
}
|
}
|
}
|
else
|
{
|
feedback_o := "Hierarchy '" + hierarchyName_i + "' not found; Channel = " + this.Name();
|
}
|
}
|
|
if( feedback_o.Length() > 0 )
|
{
|
root.EventLogActivityWarning( event,
|
feedback_o );
|
}
|
|
return set;
|
*]
|
}
|