I'm trying to set a dimension value for each two records but i'm only assigning the last value for all and I can't figure why.

enter image description here

In dimension value table I want the "VEND" for Dimension Code and use that records in my "Dimension code" of the first image.

So for now I have the dimension code RG, but my idea was to use the "Next(-1)" to get the previous of the last record..

REPEAT

defaultAmt := GLEntryTotal.Amount;
countedAmt := 0;
CASE GLEntryTotal."New G/L Account No." OF
'1':
countedAmt := ReqFilter.Decimal_1;
'2':
countedAmt := ReqFilter.Decimal_2;
'3':
countedAmt := ReqFilter.Decimal_3;
'DMB': BEGIN
countedAmt := -ReqFilter.Decimal_4;
defaultAmt := -ReqFilter.Decimal_4;
END;
END;

DimensionValue.FINDLAST();
userCode:=DimensionValue.Code;

// GLEntry
CopyEntryToJournal(Rec, lastLineNo+1, docNo, GLEntryTotal."G/L Account No.", GLEntryTotal."G/L Account Name", Rec."Account Type"::"G/L Account", -1*defaultAmt, -1*countedAmt, userCode);

// Balanced
CopyEntryToJournal(Rec, lastLineNo+2, docNo, GLEntryTotal."Bal. Account No.", GLEntryTotal."G/L Account Name", Rec."Account Type"::"Bank Account", defaultAmt, countedAmt, userCode);

// next
lastLineNo := lastLineNo + 2;
DimensionValue.NEXT(-1);