SyncMadeEasy/force-app/main/default/classes/BatchtodeletelogsNew.cls

32 lines
2.5 KiB
OpenEdge ABL

global with sharing class BatchtodeletelogsNew implements Database.Batchable<Sobject>,Database.Stateful{
global Database.QueryLocator start (Database.BatchableContext bc){
string query= '';
String querys = 'Select '+CheckAccessibility.isAccessible('HIC_ShopifySync__Chunk_Size__c,id,HIC_ShopifySync__AccountContactBatchCompleted__c, name,HIC_ShopifySync__Inventory_Location__c,HIC_ShopifySync__ProductVariantBatchCompleted__c, HIC_ShopifySync__Enable_Draft_Order__c,HIC_ShopifySync__Collection__c, HIC_ShopifySync__how_many_days_keep_logs__c,HIC_ShopifySync__OrderBatchCompleted__c, HIC_ShopifySync__Default_Field_Mapping__c,HIC_ShopifySync__Specify_Close_Date__c, HIC_ShopifySync__Default_Account__c,HIC_ShopifySync__InventoryBatchCompleted__c, HIC_ShopifySync__Shopify_URL__c, HIC_ShopifySync__API_Key__c, HIC_ShopifySync__Private_Key_Password__c, HIC_ShopifySync__Opportunity__c, HIC_ShopifySync__Order__c, HIC_ShopifySync__Opportunity_Line_Item__c, HIC_ShopifySync__Order_Line_Item__c, HIC_ShopifySync__Order_Fulfillment__c, HIC_ShopifySync__Person_Account__c,, HIC_ShopifySync__Account_Contact__c, ','HIC_ShopifySync__HIC_Configuration__c')+' from HIC_ShopifySync__HIC_Configuration__c limit 1';
list<HIC_ShopifySync__HIC_Configuration__c> listOfConfiguration = new list<HIC_ShopifySync__HIC_Configuration__c>();
listOfConfiguration = Database.query(querys);
query = 'Select '+CheckAccessibility.isAccessible('id','HIC_ShopifySync__shopify_log__c')+' from HIC_ShopifySync__shopify_log__c';
if(!listOfConfiguration.isEmpty() && listOfConfiguration[0].HIC_ShopifySync__how_many_days_keep_logs__c != null){
query += ' where ' +CheckAccessibility.isAccessible('CreatedDate','HIC_ShopifySync__shopify_log__c')+'<LAST_N_DAYS:'+listOfConfiguration[0].HIC_ShopifySync__how_many_days_keep_logs__c;
}
query += ' WITH SECURITY_ENFORCED';
system.debug('query>>'+query);
return Database.getQueryLocator(query);
}
global void execute(Database.BatchableContext bc ,list<Sobject> scope){
try{
if(!scope.isEmpty()){
if(CheckAccessibility.isDeletable('HIC_ShopifySync__shopify_log__c'))
Database.delete(scope,false);
}
}catch(exception e){
system.debug('getting errors when deleting logs');
}
}
global void finish(Database.BatchableContext bc){
system.debug('Delete logs successfully');
}
}