You need to sign in to do that
Don't have an account?
Prasanth R
apex code update problem
requirements:
in workorder object two fields(service(date/time).actual(formula(date/time)).
service field should be populated with actual field(if actual have value).
service field should be editable.
i tried the below code.problem is actual field populated with service field.i want to update the populated service field value.for my code it's not working can any one suggest me. how to do proceed further.
public static void serviceinstall(Map<Id,WorkOrder> newMap){
List<WorkOrder> workOrderUpdateList = new List<WorkOrder>();
Map<ID, WorkOrder> workOrderMap = new Map<ID, WorkOrder>([SELECT Id, Actual_Install_Date_c,Service_Installation_Date_c FROM WorkOrder Where Id IN: newMap.keySet()]);
for(WorkOrder wo1: workOrderMap.values()){
// WorkOrder wo1 = workOrderMap.get(wo.Id);
if(wo1.Actual_Install_Date__c != NULL){
wo1.Service_Installation_Date_c = wo1.Actual_Install_Date_c;
}
workOrderUpdateList.add(wo1);
system.debug('workorder='+workOrderUpdateList.size());
}
if(!workOrderUpdateList.isEmpty()){
RecursiveTriggerHandler.IsserviceInstallDate = True;
DatabaseUtils.updateSObjects(workOrderUpdateList, false) ;
}
protected sss void afterInsert(){
if(RecursiveTriggerHandler.IsserviceInstallDate == true) return;
WorkOrderBusinessLogic.serviceinstall(newMap);
}
protected override void afterUpdate(){
WorkOrderBusinessLogic.serviceinstall(newMap);
kindly someone help me
in workorder object two fields(service(date/time).actual(formula(date/time)).
service field should be populated with actual field(if actual have value).
service field should be editable.
i tried the below code.problem is actual field populated with service field.i want to update the populated service field value.for my code it's not working can any one suggest me. how to do proceed further.
public static void serviceinstall(Map<Id,WorkOrder> newMap){
List<WorkOrder> workOrderUpdateList = new List<WorkOrder>();
Map<ID, WorkOrder> workOrderMap = new Map<ID, WorkOrder>([SELECT Id, Actual_Install_Date_c,Service_Installation_Date_c FROM WorkOrder Where Id IN: newMap.keySet()]);
for(WorkOrder wo1: workOrderMap.values()){
// WorkOrder wo1 = workOrderMap.get(wo.Id);
if(wo1.Actual_Install_Date__c != NULL){
wo1.Service_Installation_Date_c = wo1.Actual_Install_Date_c;
}
workOrderUpdateList.add(wo1);
system.debug('workorder='+workOrderUpdateList.size());
}
if(!workOrderUpdateList.isEmpty()){
RecursiveTriggerHandler.IsserviceInstallDate = True;
DatabaseUtils.updateSObjects(workOrderUpdateList, false) ;
}
protected sss void afterInsert(){
if(RecursiveTriggerHandler.IsserviceInstallDate == true) return;
WorkOrderBusinessLogic.serviceinstall(newMap);
}
protected override void afterUpdate(){
WorkOrderBusinessLogic.serviceinstall(newMap);
kindly someone help me
Which field you were referred in the formula field actual?
Thanks!!