| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ReceiveMetadataRequestSetTypeInterestDeleted (owning NamedValueTree nvt_i, LibDEF_System requestor_i, LibDEF_IntegrationEvent event_i) | 
| { | 
|   Description: 'Receive a Metadata message for requesting a SetTypeInterest to be deleted for certain SetType.' | 
|   TextBody: | 
|   [* | 
|     LibDEF_Util::EventLog( event_i, "Receiving SetTypeInterest deleted request" ); | 
|      | 
|     setTypeGUID := LibDEF_DataAccessor::GetMetadataHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_SETTYPEGUID() ); | 
|      | 
|     setGUIDsExcludedFromDeletion := LibDEF_DataAccessor::GetMetadataHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_SETGUIDSEXCLUDEDFROMDELETION() ); | 
|     setGUIDs := setGUIDsExcludedFromDeletion.Tokenize( "," ); | 
|      | 
|     actionFeedbackText := "SetTypeInterest cannot be deleted. "; | 
|      | 
|     setTypeMeta := this.FindSetTypeMeta( setTypeGUID, actionFeedbackText, event_i ); | 
|      | 
|     if( not isnull( setTypeMeta ) ) | 
|     { | 
|       // Get the interested System's System-level SetTypeInterest | 
|       setTypeInterestFromSystem := select( setTypeMeta, SetTypeInterestFromSystem, systemInt, systemInt.SystemInterestedIn() = requestor_i ); | 
|        | 
|       if( not isnull( setTypeInterestFromSystem ) ) | 
|       {  | 
|         traverse( setTypeInterestFromSystem, SetInterestFromSystem, setInterestFromSystem ) | 
|         { | 
|           if( not exists( setGUIDs, Elements, setGUID, setGUID = setInterestFromSystem.SetMeta().GUID() ) ) | 
|           { | 
|             setInterestFromSystem.Delete();  | 
|           } | 
|         } | 
|          | 
|         setTypeInterestFromSystem.Delete(); | 
|       } | 
|      | 
|       // Inform the requestor about the successful deletion of interest subscription | 
|       this.SendMetadataSuccessSetTypeInterestDeleted( &nvt_i, requestor_i, event_i ); | 
|     } | 
|     else | 
|     { | 
|       LibDEF_Util::EventLogError( event_i, | 
|                                   actionFeedbackText, | 
|                                   actionFeedbackText + "SetType with GUID '" + setTypeGUID + "' is not found in the DataBroker." ); | 
|     } | 
|   *] | 
|   InterfaceProperties { Accessibility: 'Module' } | 
| } |