+ Start a Discussion
FredrickUNFredrickUN 

Batch Apex Winter 10

Hi,

 

I was under the impression that Batch APEX will be released for all in Winter 10. I've tried to implement the examples but get a insufficient priviliges error.

 

 

Do I need to request for the feature to be switched on ?

 

 

tmatthiesentmatthiesen
Fredrick - can you share your class to this thread?  All organizations were enabled as part of the winter '10 release.
FredrickUNFredrickUN

Hi Sure,

 

here's my class

 

global class KPIBuilder implements Database.Batchable<Sobject>{
   
    /*
    Purpose:The purpose of the class is to generate the KPI measures on a monthly basis
    */
   
    global final String Query;
    global final Date kpiDate;
    global final String IntervalType;
    global final String Interval;
   
    private map<string,KPI_Report__c> mpKPI;
   
   
    global Database.Querylocator  start(Database.batchableContext bc) {
   
    // Get all Job Seeker Case records and associated records required for generating the KPIs
    return Database.getQuerylocator(Query);
   
    }
   
    global void execute(Database.BatchableContext BC, sObject[] scope){
   
        //Iterate through the job seeker cases returned
        KPIGenerator kpi = New KPIGenerator();
       
        mpKPI = New Map<string,KPI_Report__c>();
       
        //get all the
   
        for(sObject s : scope){
           
            Account jsc = (Account) s;
           
            //check if the map already contains
           
            integer kpi1N = kpi.StartRateKPINominator(jsc);
            integer kpi1D = kpi.StartRateKPINominator(jsc);
           
            System.debug('#### Numerator: ' + kpi1N);
            System.debug('#### Denominator: ' + kpi1D);       
           
           
            //place results into Map
           
        }
    }
   
    global void finish(Database.BatchableContext BC){}
   
    //Constructor
    global KPIBuilder(String q,Date d){Query=q;kpiDate=d;}
   
   
    public class KPIGenerator{
       
        //constructor
        public KPIGenerator(){
           
        }
       
        public Integer StartRateKPINominator(Account jsc){
           
            integer increment = 0;
           
            //check if refferral date is 12 days in the past
            // and  Start date = yesterday
           
           
            return increment;
        }
       
        public Integer StartRateKPIDenominator(Account jsc){
           
            integer increment = 0;
           
            //check if the refferral date is 12 days in the past
           
            return increment;
        }
    }
   
    static testMethod void batchTest(){
       
        //dp something
        String q='SELECT Id, Name, Ownerid FROM Account';
        Date d = System.Today();
       
        KPIBuilder kpiB = new KPIBuilder(q,d);
 
       ID batchprocessid = Database.executeBatch(kpiB);
           
   
    }
   
}