yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Quintiq file version 2.0
#parent: #root
Method GetSetType (String datasetKind_i, String datasetName_i, String setTypeName_i) as LibDMF_SetType
{
  Description: 'Retrieve the SetType based on dataset kind, dataset name and settype name'
  TextBody:
  [*
    // Jacky C Aug-28-2015 (created)
    setType := null( LibDMF_SetType );
    systemOnChannel := this.GetSystemOnChannel( datasetKind_i, datasetName_i );
    
    if( not isnull( systemOnChannel ) )
    {
      setType := LibDMF_SetType::FindSetType( setTypeName_i );
      root    := this.CommunicationChannelRoot();
    
      // Retrieve IntegrationEvent.
      event := root.EventGetLast( datasetKind_i, datasetName_i );
    
      // Error logging
      if( isnull( setType ) )
      {
        root.EventLogActivityError( event,
                                    "SetType '" + setTypeName_i + "' not found",
                                    "SetType '" + setTypeName_i + "' not found; Channel = " + this.Name() + ", QProduct = " + systemOnChannel.QProductName() + ", System = " + systemOnChannel.SystemName()  );
      }
      else
      {
        // checks if the set type belongs to the SOC
        if( not setType.SystemOnChannel() = systemOnChannel )
        {
          root.EventLogActivityError( event,
                                      "SetType '" + setTypeName_i + "' not owned by System on Channel",
                                      "SetType '" + setTypeName_i + "' not owned by System on Channel = " + this.Name() + ", QProduct = " + systemOnChannel.QProductName() + ", System = " + systemOnChannel.SystemName()  );
        }
      }
    }
    
    return setType;
  *]
}