About this question
I am working on after update trigger and I want to know what fields were updated. I got a code on StackExchange which would serve my purpose : But can anyone please help me on how to assign values (The fields that I want to pass to getChangedFields function) to Schema.ObjectField[] fieldList in the calling function ?
public Schema.sObjectField[] getChangedFields(ID recordId, Schema.sObjectField[] fieldList) {
Schema.sObjectField[] changedFields = new list(); SObject o1 = Trigger.oldMap.get(recordId);
SObject o2 = Trigger.newMap.get(recordId);
for (Schema.sObjectField field : fieldList) {
Object v1 = o1.get(field);
Object v2 = o2.get(field);
if (didFieldChange(v1, v2)) {
changedFields.add(field);
}
}
return changedFields;
}
private static Boolean didFieldChange(Object v1, Object v2) {
if (v1 == null && v2 == null) {
return false;
}
if (v1 != v2) {
return true;
}
return false;
}