You need to sign in to do that
Don't have an account?
kuldeep paliwal
Mapping one field to another
trigger updateProjectTeammember on opportunityTeamMember(after insert, after update, after delete){
if(trigger.isInsert || trigger.isUpdate){
Map<String,String> OppOtmfieldMap=new Map<String,String>();
OppOtmfieldMap.put('Sr. Client Insights Manager','CEM_Assigned__c');
OppOtmfieldMap.put('Client Insights Manager','CEM_2nd__c');
OppOtmfieldMap.put('Data Manager','Ops_Owner__c');
OppOtmfieldMap.put('Lead Consultant','Consultant_assigned__c');
OppOtmfieldMap.put('Support Consultant','Consultant_2nd__c');
OppOtmfieldMap.put('Analysis Support','Analysis_Support__c');
OppOtmfieldMap.put('BD/Development Partner','BD_Development_Partner__c');
Map<String,String> projOtmfieldMap=new Map<String,String>();
projOtmfieldMap.put('Sr. Client Insights Manager','Sr_Client_Insights_Manager__c');
projOtmfieldMap.put('Client Insights Manager','Client_Insights_Manager__c');
projOtmfieldMap.put('Data Manager','Ops_Manager__c');
projOtmfieldMap.put('Lead Consultant','Lead_Consultant__c');
projOtmfieldMap.put('Support Consultant','Support_Consultant__c');
projOtmfieldMap.put('Analysis Support','Analysis_Support__c');
projOtmfieldMap.put('BD/Development Partner','BD_Development_Partner__c');
list<id> oppoIdList = new list<id>();
map<id, id> oppoOtmMap = new map<id, id>();
list<id> proMemList = new list<id>();
map<id, id> oppIdProIdMap = new map<id, id>();
list<id> proId = new list<id>();
Map<Id,Opportunity> oppIdMap = new Map<Id,Opportunity>();
Map<id, id> oppIdAccIdMap = new Map<id, id> ();
Set<id> accId=new Set<Id>();
for(OpportunityTeamMember otm : trigger.new){
OppoIdList.add(otm.OpportunityId);
oppoOtmMap.put(otm.Id, otm.OpportunityId);
}
map<id, list<Project__c>> oppIdProjectListMap = new map<id, list<Project__c>>();
list<Opportunity> oppoList = [select Id, accountId, Project__c, (Select Id, Name from Project__r) From opportunity Where Id In: oppoIdList];
system.debug('--oppoIdList--' +oppoIdList);
for(Opportunity op : oppoList){
proId.add(op.id);
oppIdMap.put(op.id,op);
accId.add(op.accountId);
oppIdAccIdMap.put(op.id, op.accountId);
oppIdProIdMap.put(op.id, op.Project__c);
oppIdProjectListMap.put(op.id, op.Project__r);
}
list<Project_Team__c> ptmListForInsert = new list<Project_Team__c>();
system.debug('--proId--' +proId);
system.debug('--accId--' +accId);
system.debug('--oppIdProIdMap--' +oppIdProIdMap);
system.debug('--oppIdAccIdMap--' +oppIdAccIdMap);
list<Project_Team__c> ptmList = [Select id, Account__c, Project__c, Member_Role__c, Team_Member__c From Project_Team__c Where Id In: proId];
map<id, list<Project_Team__c>> proPtmMap = new map<id, list<Project_Team__c>>();
system.debug('--ptmList--' +ptmList);
for(project_Team__c ptm : ptmList){
list<project_Team__c> tempList = proPtmMap.get(ptm.Project__c);
if(templist!= null && templist.Size()>0){
tempList.add(ptm);
}else{
tempList = new list<project_Team__c>();
tempList.add(ptm);
}
proPtmMap.put(ptm.Project__c, tempList);
}
List<project_team__c> projList = new List<project_team__c>();
for(OpportunityTeamMember otm : trigger.new){
Boolean flag = false;
List<project__c> listOfProj = oppIdProjectListMap.get(otm.OpportunityId);
for(Project__c pro : listOfProj){
List<project_team__c> listOfPrjTm = proPtmMap.get(pro.id);
if(listOfPrjTm!= null && listOfPrjTm.size()>0){
for(Project_Team__c ptm : listOfPrjTm){
if(otm.userId == ptm.Team_Member__c){
flag =true;
}
}
}
if(flag ==true){
}else{
Project_Team__c ptm1 = new Project_Team__c();
ptm1.Team_Member__c= otm.userId;
ptm1.Member_Role__c = otm.TeamMemberRole;
ptm1.Account__c = oppIdAccIdMap.get(otm.OpportunityId);
ptm1.Project__c = pro.id;
ptmListForInsert.add(ptm1);
system.debug('--ptm1--' +ptm1);
}
}
}
if(ptmListForInsert.size()>0){
insert ptmListForInsert;
}
}
}
i create OppOtmfieldMap want to map this field like whenever Sr. Client Insights Manager add to OTM it save to CEM_Assigned__c which is field of Opportunity how i done next..
Thanx
if(trigger.isInsert || trigger.isUpdate){
Map<String,String> OppOtmfieldMap=new Map<String,String>();
OppOtmfieldMap.put('Sr. Client Insights Manager','CEM_Assigned__c');
OppOtmfieldMap.put('Client Insights Manager','CEM_2nd__c');
OppOtmfieldMap.put('Data Manager','Ops_Owner__c');
OppOtmfieldMap.put('Lead Consultant','Consultant_assigned__c');
OppOtmfieldMap.put('Support Consultant','Consultant_2nd__c');
OppOtmfieldMap.put('Analysis Support','Analysis_Support__c');
OppOtmfieldMap.put('BD/Development Partner','BD_Development_Partner__c');
Map<String,String> projOtmfieldMap=new Map<String,String>();
projOtmfieldMap.put('Sr. Client Insights Manager','Sr_Client_Insights_Manager__c');
projOtmfieldMap.put('Client Insights Manager','Client_Insights_Manager__c');
projOtmfieldMap.put('Data Manager','Ops_Manager__c');
projOtmfieldMap.put('Lead Consultant','Lead_Consultant__c');
projOtmfieldMap.put('Support Consultant','Support_Consultant__c');
projOtmfieldMap.put('Analysis Support','Analysis_Support__c');
projOtmfieldMap.put('BD/Development Partner','BD_Development_Partner__c');
list<id> oppoIdList = new list<id>();
map<id, id> oppoOtmMap = new map<id, id>();
list<id> proMemList = new list<id>();
map<id, id> oppIdProIdMap = new map<id, id>();
list<id> proId = new list<id>();
Map<Id,Opportunity> oppIdMap = new Map<Id,Opportunity>();
Map<id, id> oppIdAccIdMap = new Map<id, id> ();
Set<id> accId=new Set<Id>();
for(OpportunityTeamMember otm : trigger.new){
OppoIdList.add(otm.OpportunityId);
oppoOtmMap.put(otm.Id, otm.OpportunityId);
}
map<id, list<Project__c>> oppIdProjectListMap = new map<id, list<Project__c>>();
list<Opportunity> oppoList = [select Id, accountId, Project__c, (Select Id, Name from Project__r) From opportunity Where Id In: oppoIdList];
system.debug('--oppoIdList--' +oppoIdList);
for(Opportunity op : oppoList){
proId.add(op.id);
oppIdMap.put(op.id,op);
accId.add(op.accountId);
oppIdAccIdMap.put(op.id, op.accountId);
oppIdProIdMap.put(op.id, op.Project__c);
oppIdProjectListMap.put(op.id, op.Project__r);
}
list<Project_Team__c> ptmListForInsert = new list<Project_Team__c>();
system.debug('--proId--' +proId);
system.debug('--accId--' +accId);
system.debug('--oppIdProIdMap--' +oppIdProIdMap);
system.debug('--oppIdAccIdMap--' +oppIdAccIdMap);
list<Project_Team__c> ptmList = [Select id, Account__c, Project__c, Member_Role__c, Team_Member__c From Project_Team__c Where Id In: proId];
map<id, list<Project_Team__c>> proPtmMap = new map<id, list<Project_Team__c>>();
system.debug('--ptmList--' +ptmList);
for(project_Team__c ptm : ptmList){
list<project_Team__c> tempList = proPtmMap.get(ptm.Project__c);
if(templist!= null && templist.Size()>0){
tempList.add(ptm);
}else{
tempList = new list<project_Team__c>();
tempList.add(ptm);
}
proPtmMap.put(ptm.Project__c, tempList);
}
List<project_team__c> projList = new List<project_team__c>();
for(OpportunityTeamMember otm : trigger.new){
Boolean flag = false;
List<project__c> listOfProj = oppIdProjectListMap.get(otm.OpportunityId);
for(Project__c pro : listOfProj){
List<project_team__c> listOfPrjTm = proPtmMap.get(pro.id);
if(listOfPrjTm!= null && listOfPrjTm.size()>0){
for(Project_Team__c ptm : listOfPrjTm){
if(otm.userId == ptm.Team_Member__c){
flag =true;
}
}
}
if(flag ==true){
}else{
Project_Team__c ptm1 = new Project_Team__c();
ptm1.Team_Member__c= otm.userId;
ptm1.Member_Role__c = otm.TeamMemberRole;
ptm1.Account__c = oppIdAccIdMap.get(otm.OpportunityId);
ptm1.Project__c = pro.id;
ptmListForInsert.add(ptm1);
system.debug('--ptm1--' +ptm1);
}
}
}
if(ptmListForInsert.size()>0){
insert ptmListForInsert;
}
}
}
i create OppOtmfieldMap want to map this field like whenever Sr. Client Insights Manager add to OTM it save to CEM_Assigned__c which is field of Opportunity how i done next..
Thanx