I have a custom API in Business Central on the Item Ledger Entry, and I added a piece of code that generate a random hardcoded value for the systemModifiedAt field (some record were missing it).
The code works well without $orderby parameter (retrieve the right data) however as soon as i add the $orderby parameter i only get one record for the hardcoded values (the first one). Also the results pass from 41.87MB to 41.79MB showing that something get filter.
Any idea why does it behave as such?
Here the piece of code i have in Visual Studio in AL in the itemLedgerEntries API Page:
} trigger OnAfterGetRecord() var TempSystemModifiedAt: DateTime; begin // Check if the SystemModifiedAt field is empty (0DT represents empty date and time) if Rec.SystemModifiedAt = 0DT then begin // If it's empty, manually set the date and time components TempSystemModifiedAt := CREATEDATETIME(20191231D, 080000.075T); TempSystemModifiedAt := TempSystemModifiedAt + Random(5555555); // Add random number to the TempSystemModifiedAt Rec.SystemModifiedAt := TempSystemModifiedAt; end; end; }
Here the result I get when using the $orderby parameter:
And here the result I get when not ordering: Screenshot 1:
Please let me know if someone has some ideas or assumptions, ChatGdp has none or not the right one haha :)