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
Vignesh RamshettyVignesh Ramshetty 

Getting error i execution of AfterInsert caused by: System.NullPointerException: Attempt to de-reference a null object Class.oppurinityamountclass.makefunction2: line 22, column 1 Trigger.opprunitybeforeandafter: line

If one record is inserted i want to insert another record with same information
Trigger : 
trigger opprunitybeforeandafter on Opportunity (Before insert, after insert){

if(trigger.isbefore == true && trigger.isinsert == true){

         oppurinityamountclass.makefunction(trigger.new);
}
if(trigger.isafter == true && trigger.isinsert == true){

           oppurinityamountclass.makefunction2(trigger.new,trigger.oldMap);
}
}User-added image




Public class oppurinityamountclass{

     Public static void makefunction(list<Opportunity> varocc){

         for(Opportunity varo : varocc){
           if (varo.Amount >= 50000){
          varo.Amount = varo.Amount/2;
      }
    }
}

    
    Public static void makefunction2(list<Opportunity> varocd,map<id,Opportunity> varold){

     
          List<Opportunity> varins = new List<Opportunity>();

      for (Opportunity opp : varocd ){

  

          opp.Amount = varold.get(opp.id).Amount;

          opp.Name = varold.get(opp.id).Name;
          opp.CloseDate = varold.get(opp.id).CloseDate;
          opp.StageName = varold.get(opp.id).StageName;
         
           varins.add(opp);




}
insert varins;
}
CharuDuttCharuDutt
Hii Vignesh
Try Below Code Or Try Re-Save The Class
Public class oppurinityamountclass{
    
    Public static void makefunction(list<Opportunity> varocc){
        
        for(Opportunity varo : varocc){
            if (varo.Amount >= 50000){
                varo.Amount = varo.Amount/2;
            }
        }
    }
    
    
    Public static void makefunction2(list<Opportunity> varocd,map<id,Opportunity> varold){
        
        
        List<Opportunity> varins = new List<Opportunity>();
        
        for (Opportunity opp : varocd ){
            
            
            
            opp.Amount = varold.get(opp.id).Amount == null ?0 : varold.get(opp.id).Amount;
            
            opp.Name = varold.get(opp.id).Name;
            opp.CloseDate = varold.get(opp.id).CloseDate;
            opp.StageName = varold.get(opp.id).StageName;
            
            varins.add(opp);
        }
        insert varins;
    }
}
Please Mark It As Best Asnwer If It Helps
Thank You!
Vignesh RamshettyVignesh Ramshetty
Still, i am getting the same error with the above code also
Vignesh RamshettyVignesh Ramshetty
No still am gettingUser-added image same error
opprunitybeforeandafter: execution of AfterInsert caused by: System.NullPointerException: Attempt to de-reference a null object Class.oppurinityamountclass.makefunction2: line 22, column 1 Trigger.opprunitybeforeandafter: line 9, column 1
Vignesh RamshettyVignesh Ramshetty
No still am getting[image: User-added image] same error opprunitybeforeandafter: execution of AfterInsert caused by: System.NullPointerException: Attempt to de-reference a null object Class.oppurinityamountclass.makefunction2: line 22, column 1 Trigger.opprunitybeforeandafter: line 9, column 1