trigger OnCustobjCaseFields on Customobj__c (after insert, after update)
{
map<string, Customobj__c> ObjMap = new map<string, Customobj__c>();
for(Customobj__c obj: Trigger.new)
{
if (obj.Shared_Field__c != Null)
{
ObjMap.put(obj.Shared_Field__c, obj);
}
}
List<Case> cases = [SELECT Id, Shared_Field__c, AccountId, Expected_Event_Types__c
FROM Case WHERE Shared_Field__c IN :ObjMap.KeySet()];
List<Case> caseUpdateList = new List<Case>();
for(Case c: cases)
{
Customobj__c obj = ObjMap.get(c.Shared_Field__c);
c.AccountId = obj.Account__c;
c.App__c = obj.Id;
c.Expected_Event_Types__c = obj.Event_Types__c;
caseUpdateList.add(c);
}
if(caseUpdateList.size() > 0)
{
update caseUpdateList;
}
}