IRecordSet<RS> recordSet = null;
try {
recordSet = getSrvDatabase().retrieveRecords(query);
if (recordSet.moveToFirst()) {
do {
LedgerDetailLine ldl = new LedgerDetailLine();
ldl.setItsDate(getSrvDatabase().getSrvRecordRetriever()
.getDate(recordSet.getRecordSet(), "ITSDATE"));
ldl.setSourceId(getSrvDatabase().getSrvRecordRetriever()
.getLong(recordSet.getRecordSet(), "SOURCEID"));
ldl.setSourceType(getSrvDatabase().getSrvRecordRetriever()
.getInteger(recordSet.getRecordSet(), "SOURCETYPE"));
ldl.setDescription(getSrvDatabase().getSrvRecordRetriever()
.getString(recordSet.getRecordSet(), "DESCRIPTION"));
ldl.setSubaccName(getSrvDatabase().getSrvRecordRetriever()
.getString(recordSet.getRecordSet(), "SUBACC"));
ldl.setCorrAccName(getSrvDatabase().getSrvRecordRetriever()
.getString(recordSet.getRecordSet(), "CORACC"));
ldl.setCorrSubaccName(getSrvDatabase().getSrvRecordRetriever()
.getString(recordSet.getRecordSet(), "CORSUBACC"));
ldl.setCorrAccNumber(getSrvDatabase().getSrvRecordRetriever()
.getString(recordSet.getRecordSet(), "CORACCNUMBER"));
Boolean isDebit = getSrvDatabase().getSrvRecordRetriever()
.getBoolean(recordSet.getRecordSet(), "ISDEBIT");
if (isDebit) {
ldl.setDebit(getSrvDatabase().getSrvRecordRetriever()
.getBigDecimal(recordSet.getRecordSet(), "ITSTOTAL")
.setScale(getSrvAccSettings().lazyGetAccSettings()