protected void insertCheck() throws ApplicationException {
try {
Konto k = getKonto();
if (k == null)
throw new ApplicationException(i18n.tr("Bitte w�hlen Sie ein Konto aus."));
if (k.isNewObject())
throw new ApplicationException(i18n.tr("Bitte speichern Sie zun�chst das Konto"));
String kiban = k.getIban();
if (kiban == null || kiban.length() == 0)
throw new ApplicationException(i18n.tr("Das ausgew�hlte Konto besitzt keine IBAN"));
String bic = k.getBic();
if (bic == null || bic.length() == 0)
throw new ApplicationException(i18n.tr("Das ausgew�hlte Konto besitzt keine BIC"));
double betrag = getBetrag();
if (betrag == 0.0 || Double.isNaN(betrag))
throw new ApplicationException(i18n.tr("Bitte geben Sie einen g�ltigen Betrag ein."));
if (getGegenkontoNummer() == null || getGegenkontoNummer().length() == 0)
throw new ApplicationException(i18n.tr("Bitte geben Sie die IBAN des Gegenkontos ein"));
HBCIProperties.checkChars(getGegenkontoNummer(), HBCIProperties.HBCI_IBAN_VALIDCHARS);
HBCIProperties.checkLength(getGegenkontoNummer(), HBCIProperties.HBCI_IBAN_MAXLENGTH);
if (getGegenkontoBLZ() == null || getGegenkontoBLZ().length() == 0)
throw new ApplicationException(i18n.tr("Bitte geben Sie die BIC des Gegenkontos ein"));
HBCIProperties.checkBIC(getGegenkontoBLZ());
if (getGegenkontoName() == null || getGegenkontoName().length() == 0)
throw new ApplicationException(i18n.tr("Bitte geben Sie den Namen des Kontoinhabers des Gegenkontos ein"));
HBCIProperties.checkLength(getGegenkontoName(), HBCIProperties.HBCI_FOREIGNTRANSFER_USAGE_MAXLENGTH);
HBCIProperties.checkChars(getGegenkontoName(), HBCIProperties.HBCI_SEPA_VALIDCHARS);
HBCIProperties.getIBAN(getGegenkontoNummer());
HBCIProperties.checkLength(getZweck(), HBCIProperties.HBCI_FOREIGNTRANSFER_USAGE_MAXLENGTH);
HBCIProperties.checkChars(getZweck(), HBCIProperties.HBCI_SEPA_VALIDCHARS);
HBCIProperties.checkLength(getEndtoEndId(), HBCIProperties.HBCI_SEPA_ENDTOENDID_MAXLENGTH);
HBCIProperties.checkChars(getEndtoEndId(), HBCIProperties.HBCI_SEPA_VALIDCHARS);
HBCIProperties.checkLength(getPmtInfId(), HBCIProperties.HBCI_SEPA_ENDTOENDID_MAXLENGTH);
HBCIProperties.checkChars(getPmtInfId(), HBCIProperties.HBCI_SEPA_VALIDCHARS);
String creditorId = getCreditorId();
if (creditorId == null || creditorId.length() == 0)
throw new ApplicationException(i18n.tr("Bitte geben Sie die Gl�ubiger-Identifikation ein."));
HBCIProperties.checkLength(creditorId, HBCIProperties.HBCI_SEPA_CREDITORID_MAXLENGTH);
HBCIProperties.checkChars(creditorId, HBCIProperties.HBCI_SEPA_VALIDCHARS);
if (!HBCIProperties.checkCreditorIdCRC(creditorId))
throw new ApplicationException(i18n.tr("Ung�ltige Gl�ubiger-Identifikation. Bitte pr�fen Sie Ihre Eingaben."));
String mandateId = getMandateId();
if (mandateId == null || mandateId.length() == 0)
throw new ApplicationException(i18n.tr("Bitte geben Sie die Mandatsreferenz ein."));
HBCIProperties.checkLength(mandateId, HBCIProperties.HBCI_SEPA_MANDATEID_MAXLENGTH);
HBCIProperties.checkChars(mandateId, HBCIProperties.HBCI_SEPA_VALIDCHARS);
if (this.getSignatureDate() == null)
throw new ApplicationException(i18n.tr("Bitte geben Sie das Unterschriftsdatum des Mandats ein"));
if (getSequenceType() == null)
throw new ApplicationException(i18n.tr("Bitte w�hlen Sie den Sequenz-Typ aus"));
if (this.getType() == null)
this.setType(SepaLastType.DEFAULT);
if (this.getTermin() == null)
this.setTermin(new Date());
}
catch (RemoteException e)
{
Logger.error("error while checking foreign ueberweisung",e);
throw new ApplicationException(i18n.tr("Fehler beim Pr�fen des SEPA-Auftrages."));
}
}