• chiran jeevi
  • NEWBIE
  • 0 Points
  • Member since 2017

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 0
    Replies
Global  class batchapexopp implements database.batchable<sobject>,database.stateful {
    public  decimal total=0;
    public integer count=0;
  
    Global database.querylocator start(database.BatchableContext BC){
        
        string str='select id, name, amount from opportunity where amount!=null';
        return database.getQueryLocator(str);
        }
    global void execute(database.BatchableContext BC, list<opportunity> scope){
        for(opportunity a:scope)
        {
            total=total+a.amount;
            count+=1;
           
            
        }
    }
    
    global void finish(database.BatchableContext bc){
Messaging.SingleEmailMessage message = new Messaging.SingleEmailMessage();
message.toAddresses = new String[] { 'arun.b504@gmail.com' };
message.optOutPolicy = 'FILTER';
message.subject = 'Subject Test Message';
message.plainTextBody = 'Total' +'  '+ total +'  '+ 'Records updated sucessfully';
Messaging.SingleEmailMessage[] messages =   new List<Messaging.SingleEmailMessage> {message};
Messaging.SendEmailResult[] results = Messaging.sendEmail(messages);
        system.debug('total record updated sucessfully'+count);
    }

}
trigger constatus on Contact (After update) {
    List<Id> conid=new list<Id>();
    if(checkRecursive.runOnce()){
        for(contact c:trigger.new){
            if(c.Status__c=='inactive')
            {
                conid.add(c.accountid);
            }
        }
    
    list<account> acc1=[select id,status__c,(select id,status__c from contacts)from account where  ID IN:conid];
    list<contact> con =new list<contact>();
    for(account a:acc1 )
    {
        for(contact cc:a.contacts) {
           cc.status__c='inactive';
            con.add(cc);  
        } 
        a.status__c='inactive';
        update a;
    }
update con;
    }
}