writer = new DtausDateiWriter(os);
for (int i=0;i<objects.length;++i)
{
SammelTransfer transfer = (SammelTransfer) objects[i];
Konto konto = transfer.getKonto();
GenericIterator buchungen = transfer.getBuchungen();
monitor.setPercentComplete(0);
monitor.setStatusText(i18n.tr("Exportiere logische Datei Nr. {0}",""+(i+1)));
double factor = 100d / buchungen.size();
int count = 0;
int success = 0;
long kundenNummer = 0;
String s = konto.getKundennummer();
try
{
kundenNummer = Long.parseLong(s);
}
catch (Exception e)
{
monitor.log(i18n.tr("Ignoriere Kundenkennung {0}: ung�ltig",s));
}
long blz = 0;
s = konto.getBLZ();
try
{
blz = Long.parseLong(s);
}
catch (Exception e)
{
monitor.log(i18n.tr("Ignoriere BLZ {0}: ung�ltig",s));
}
writer.open();
writer.setAAusfuehrungsdatum(transfer.getTermin());
writer.setABLZBank(blz);
String type = (transfer instanceof SammelUeberweisung) ? "GK" : "LK";
writer.setAGutschriftLastschrift(type);
writer.setAKonto(Long.parseLong(konto.getKontonummer()));
writer.setAKundenname(konto.getName());
writer.writeASatz();
while (buchungen.hasNext())
{
// Mit diesem Factor sollte sich der Fortschrittsbalken
// bis zum Ende der DTAUS-Datei genau auf 100% bewegen
monitor.setPercentComplete((int)((++count) * factor));
SammelTransferBuchung buchung = (SammelTransferBuchung) buchungen.next();
monitor.log(i18n.tr("Exportiere Datensatz {0}",buchung.getGegenkontoName()));
writer.setCBetragInEuro(buchung.getBetrag());
writer.setCBLZEndbeguenstigt(Long.parseLong(buchung.getGegenkontoBLZ()));