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
Surender reddy SalukutiSurender reddy Salukuti 

variable doesnot exist

Hi,

i wrote this in appexclass
public class Trigger_Opportunity_Handler{
    public static void afUpdate(map<Id,Opportunity>  oldMap, map<Id,Opportunity>  newMap){
        set<id> optyids=oldMap.keyset();
        User u=[select id from User where alias='udemo'];
           list<OpportunityTeamMember> teams=new list<OpportunityTeamMember>(); 
        for(Id key:optyIds){
            Opportunity old=oldMap.get(key);
            Opportunity optyNew=newMap.get(key);
            if(old.StageName!='Closed Won'&&optyNew.StageName=='Closed Won'){
                OpportunityTeamMember ot=new OpportunityTeamMember();
                ot.opportunityId=key;
                ot.UserId=u.Id;
                ot.TeamMemberRole='Account Manager';
                ot.OpportunityAccessLevel='Edit';
                teams.add(ot);
                }
        }
        insert teams;
    }
}
Error-
Variable does not exist: StageName
Meghna Vijay 7Meghna Vijay 7
Hi,
Are you getting this error in dev console or when you are performing DML operations?
Thanks

 
Surender reddy SalukutiSurender reddy Salukuti
Hi thanks for replay. I am writing in developer console.
KrishnaAvvaKrishnaAvva
Hi Surender,

Update the below code to
if(old.StageName!='Closed Won'&&optyNew.StageName=='Closed Won'){ TO
//Remove these 2 lines
//Remove Opportunity old=oldMap.get(key);
//Remove Opportunity optyNew=newMap.get(key);
if(oldMap.get(key).StageName!='Closed Won'&&newMap.get(key).StageName=='Closed Won'){

Map.get(key) Returns a Reference to the Record. Please find the documentation here : https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_map.htm

Please mark this as SOLVED if it had helped you. Thanks!

Regards,
Krishna Avva