function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
XIOXIO 

Help with using LIKE variable

Hello,

I have the trigger below thats retrieving the FeedItem File ID but I need it to only retrieve the file ID from files that have the word "SOW" in the file name. Any assistance is greatly appreciated.
 
trigger FeedItemIDOppty on FeedItem (after insert, after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new){
    FeedItem fiii =[SELECT Body, (SELECT RecordId, Title, Type, Value FROM FeedAttachments) 
FROM FeedItem 
WHERE Id =: fi.Id];
        
        O[0].File_ID__c=fiii.FeedAttachments[0].Id ; 
        update O ;
        
        }
   

   }

 
Best Answer chosen by XIO
XIOXIO
This worked, thanks for your help!
 
trigger FeedItemIDOppty on FeedItem (before insert,after insert,before update,after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new)
        if(O.size()>0 && fi.Title.Contains('SOW'))
            O[0].File_ID__c = fi.ID;
                                    update O;
                        }

 

All Answers

Raj VakatiRaj Vakati
Try like this 
 
trigger FeedItemIDOppty on FeedItem (after insert, after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new){
			
			
    FeedItem fiii =[SELECT Body, (SELECT RecordId, Title, Type, Value FROM FeedAttachments) 
FROM FeedItem  WHERE Id =: fi.Id];
       
For(FeedAttachment atts : 	fiii.FeedAttachments){   
if(atts.Title.Contains('SOW')){
        O[0].File_ID__c=fiii.FeedAttachments[0].Id ; 
        update O ;
}
}
        }
   

   }

 
XIOXIO
Hi Raj,

I got this error

User-added image
Raj VakatiRaj Vakati
Try this
 
trigger FeedItemIDOppty on FeedItem (after insert, after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new){
			
			
    FeedItem fiii =[SELECT Body, (SELECT RecordId, Title, Type, Value FROM FeedAttachments) 
			FROM FeedItem  WHERE Id =: fi.Id];
       
			For(FeedAttachment atts : 	fiii.FeedAttachments){   
					if(atts.Title.Contains('SOW') && atts.Title!=null){
							O[0].File_ID__c=atts.Id ; 
							update O ;
					}
			}
        }
   

   }

 
XIOXIO
Same error

User-added image
XIOXIO
This worked, thanks for your help!
 
trigger FeedItemIDOppty on FeedItem (before insert,after insert,before update,after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new)
        if(O.size()>0 && fi.Title.Contains('SOW'))
            O[0].File_ID__c = fi.ID;
                                    update O;
                        }

 
This was selected as the best answer