Business Central Custom API (AL) / Postman: Why when i use $orderby parameter in my GET request my results get filter?

208 Views Asked by At

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:

enter image description here

And here the result I get when not ordering:

Screenshot 1:

enter image description here

Screenshot 2:

enter image description here

Please let me know if someone has some ideas or assumptions, ChatGdp has none or not the right one :)

0

There are 0 best solutions below