Is there anyway to use MaxOf on update_recordset on X++?
ttsbegin;
update_recordset asuRepairServiceProdDeviceInfo
setting RepairCompletionDate = **maxof**(asuRepairOrderTrans.ScanEndDateTime)
join asuRepairOrderTrans
where asuRepairServiceProdDeviceInfo.RepairOrderID == asuRepairOrderTrans.RepairOrderId
&& asuRepairOrderTrans.RepairStepId == '7000';
info(strFmt("Repair Completion Date FG : Number of records updated is %1.",
asuRepairServiceProdDeviceInfo.rowCount()));
ttscommit;
Or any different approach aside for While statement? as I'm working on over millions of records
The
update_recordsetdoes not allow aggregate functions. You can however use aggregates in views.Create a view (
ASURepairOrderMaxDate) on the theASURepairOrderTranscontaining theRepairOrderId,RepairStepIdandmax(ScanEndDateTime)fields.Then the update is easy: