Судя по
X++:
exists join ledgerTrans
и вызову в цикле
X++:
bankAccountTrans = BankAccountTrans::find(ledgerTrans.PaymReference);
сам запрос построен неправильно. exists join не возвращает данные в табличную переменную. У вас всегда будет ledgerTrans.PaymReference == "". Надо делать через простой join с выборкой только PaymReference, т.е.
X++:
join PaymReference from ledgerTrans