Options

Sort records based on Date

mysamzamysamza Member Posts: 66
I am trying to sort the records of Item Ledger Entry to give me the expiration date as the earliest date relative to today().

If there are 2 records let us say in ILE

Entry No, Item No, Expiration Date

1, itm01, 5th of October 2020

2, itm02, 10th of October 2020

3, itm03, 11th of September 2020

I want it to be sorted as;

3, itm03, 11th of September 2020

1, itm01, 5th of October 2020

2, itm02, 10th of October 2020

so earliest expiry record first;

l
ocal procedure ReturnSortedExpiration(recSalesLine: Record "Sales Line"; Var sortedarr: array[100] of Integer)
    var
        rec_itemLedgerEntry: Record "Item Ledger Entry";
        i: Integer;
    begin
        Clear(i);
        Clear(sortedarr);
        i := 1;
        rec_itemLedgerEntry.Reset();
        rec_itemLedgerEntry.SetCurrentKey("Item No.", "Expiration Date");
        rec_itemLedgerEntry.SetAscending("Expiration Date", false);
        rec_itemLedgerEntry.SetRange("Entry Type", rec_itemLedgerEntry."Entry Type"::Purchase);
        rec_itemLedgerEntry.SetRange("Item No.", recSalesLine."No.");
        rec_itemledgerentry.SetRange("Location Code", recSalesLine."Location Code");
        if rec_itemLedgerEntry.FindSet() then begin
            repeat
                sortedarr[i] := rec_itemLedgerEntry."Entry No.";
                i := i + 1;
            until rec_itemLedgerEntry.Next() = 0;
        end;
    end;
Sign In or Register to comment.