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

Add Opp Team Member Whose Role is Portfolio Developer to Local Portfolio developer field in Opportunity
trigger AssignCloseOppTeamMember on OpportunityTeamMember (after insert) {
List<Opportunity> OpportunityList = new List<Opportunity>();
Map<Id, Id> OppIdOppMemberIdMap = new Map<Id, Id>();
for(OpportunityTeamMember OpportunityTeamMemberObj: Trigger.New){
if(OpportunityTeamMemberObj.TeamMemberRole =='Portfolio Developer')
OppIdOppMemberIdMap.put(OpportunityTeamMemberObj.OpportunityId , OpportunityTeamMemberObj.Id);
}
for(Opportunity opportunityObj : [Select Id, LocalPortfolioDeveloper__c from Opportunity where Id IN: OppIdOppMemberIdMap.keyset()]){
if(OppIdOppMemberIdMap.Containskey(opportunityObj.Id)){
opportunityObj.LocalPortfolioDeveloper__c= OppIdOppMemberIdMap.get(opportunityObj.Id).User.Id;
OpportunityList.add(opportunityObj);
}
}
update OpportunityList;
}
getting error - Compile Error: Initial term of field expression must be a concrete SObject: Id at line 13 column 95
List<Opportunity> OpportunityList = new List<Opportunity>();
Map<Id, Id> OppIdOppMemberIdMap = new Map<Id, Id>();
for(OpportunityTeamMember OpportunityTeamMemberObj: Trigger.New){
if(OpportunityTeamMemberObj.TeamMemberRole =='Portfolio Developer')
OppIdOppMemberIdMap.put(OpportunityTeamMemberObj.OpportunityId , OpportunityTeamMemberObj.Id);
}
for(Opportunity opportunityObj : [Select Id, LocalPortfolioDeveloper__c from Opportunity where Id IN: OppIdOppMemberIdMap.keyset()]){
if(OppIdOppMemberIdMap.Containskey(opportunityObj.Id)){
opportunityObj.LocalPortfolioDeveloper__c= OppIdOppMemberIdMap.get(opportunityObj.Id).User.Id;
OpportunityList.add(opportunityObj);
}
}
update OpportunityList;
}
getting error - Compile Error: Initial term of field expression must be a concrete SObject: Id at line 13 column 95
I guess the following line causing the issue.
opportunityObj.LocalPortfolioDeveloper__c= OppIdOppMemberIdMap.get(opportunityObj.Id).User.Id;
This line OppIdOppMemberIdMap.get(opportunityObj.Id) -- returns OpportunityTeamMemberId
But you using "OppIdOppMemberIdMap.get(opportunityObj.Id).User.Id" refering .User from the Id insted put the entire object
OppIdOppMemberIdMap.put(OpportunityTeamMemberObj.OpportunityId , OpportunityTeamMemberObj);
and then this will work.
opportunityObj.LocalPortfolioDeveloper__c= OppIdOppMemberIdMap.get(opportunityObj.Id).User.Id;
Best Regards,
Vijay