You need to sign in to do that
Don't have an account?

trigger to update field in other object by taking value from other object
I have written trigger on emailmessage object which will update a field in the USer object.
trigger EmailMessageAfterUpdate on EmailMessage (before insert) { Set<Id> ownerIds = new Set<Id>(); for(EmailMessage eMsg : Trigger.new) { Map<Id, User> mapUsers = new Map<Id, User>([SELECT Id,Out_of_Office_Email_Address__c ,Name FROM User WHERE out_of_office__c = true]); List<Case> caseList = [SELECT id,ownerId,Owner.Name,assignee__c ,Description, caseNumber FROM Case WHERE Id = :eMsg.ParentId ]; system.debug('caseList' + caseList); for(Case cse :caseList ) { User u = new User(); system.debug('inside for loop'); if(mapUsers.containsKey(cse.ownerId)) { system.debug('inside mapusers'); system.debug('from' + emsg.FromAddress); eMsg.Fromaddress = cse.Assignee__c ; eMsg.FromAddress = u.Out_of_Office_Email_Address__c;----not able to update this lie system.debug('email' + u.Out_of_Office_Email_Address__c ); system.debug('from1' + emsg.FromAddress); } } update caseList; } }But i am not able to update.Any suggestions wll be helpful.
They way ur updating is wrong, just u created the user and instantiating with the email address and u assigned caselist to cse, how you will update caselist , you need to update cse right, use cse.out_of_office_Email_Address_c; and update cse;
I am updating the field in User object(Out_Of_Office_Email_Address) with the value present in the EmailMessage From Adress field
Thats my requirement
First you should correct your code. You wrote SOQL query insdie the "For" loop. This is not best practise to write the code.
Below are the answer of your question:
1. If you want to update Case field then you have to write : cse.Out_of_Office_Email_Address__c = eMsg.FromAddress then you have to update cse list. update cse;
Let me know if you need any additional information and choose this as best answer if it helps you.
I have a field i the USer object called out_of_office__C . i am trying to update that field by populating the fromaddress value present in the emailmessage for the particluar case.I know this will not work but just need some idea as how to implement it.
Try this code which I written earlier, It will definately help you.