| Auszug | ||
|---|---|---|
| ||
SEPA-Nuclet – 4.8.1 SEPA: Nuclet-Schnittstellen: Ziel dieses Schrittes ist, das tatsächlich im Zielnuclet verwendeten Businessobjekt an den Java-Code des SEPA-Nuclets anzubinden. Dazu wird der Ansatz |
Sprache: Deutsch · English (in Aufbau)
Ziel dieses Schrittes ist, das tatsächlich im Zielnuclet verwendeten Businessobjekt an den Java-Code des SEPA-Nuclets anzubinden. Dazu wird der Ansatz verfolgt, Nuclet-unabhängige …
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Status | ||||
|---|---|---|---|---|
|
| Panel | ||||||
|---|---|---|---|---|---|---|
| ||||||
Auf dieser Seite
|
Ziel dieses Schrittes ist, das tatsächlich im Zielnuclet verwendeten Businessobjekt an den Java-Code des SEPA-Nuclets anzubinden. Dazu wird der Ansatz verfolgt, Nuclet-unabhängige Wrapper-Klassen zu verwenden – anstelle der zu den Businessobjekten generierten Businessobjekt-Klassen.
Zu den technischen Hintergründen lesen Sie dazu bitte auch den Artikel "Schnittstellen in Java-Regeln".
| Hinweis |
|---|
Dieser Integrationsschritt kann erst durchgeführt werden, sobald die Vorbedingungen aus Abschnitt 3 erfüllt sind – d.h. sobald entsprechende Attribute in den genutzten Businessobjekten existieren. |
...
Sollten Sie das SEPA-Nuclet entweder nur für Lastschriften oder nur für Überweisungen verwenden wollen, dann müssen nur die jeweiligen Klassen für Ihren Anwendungsfall angepasst werden. Die restlichen Klassen können Sie ignorieren.
| Wrapper-Klasse | Anmerkung | Funktion | Anwendungsfall |
|---|---|---|---|
| CreditorReferenceWrapper | neu ab v2.0.0 | Anbindung an genutzte Referenzobjekte (Eingangsrechnungen, Gutschriften,o.ä.) | Überweisungen |
| CreditorWrapper | neu ab v2.0.0 | Anbindung an verwendete Kreditoren, Lieferanten, o.ä. | |
| CreditTransferReferenceWrapper | neu ab v2.0.0 | Anbindung an verwendete Zahlungsreferenzobjekte (Forderungen, Rechnungspositionen, Buchungen, etc.) | |
| DebitorReferenceWrapper | neu ab v2.0.0, ersetzt ReferenceWrapper | Anbindung an genutzte Referenzobjekte (Ausgangsrechnungen,o.ä.) | Lastschriften |
| DebitorWrapper | Anbindung an verwendete Debitoren, Kunden, o.ä. | ||
| DirectDebitReferenceWrapper | neu ab v2.0.0 | Anbindung an verwendete Zahlungsreferenzobjekte (Forderungen, Rechnungspositionen, Buchungen, etc.) | |
| obsolet ab v2.0.0, wird ersetzt durch DebitReferenceWrapper | Anbindung an genutzte Referenzobjekte (Rechnungen,o.ä.) | ||
| obsolet ab v2.0.0, wird ersetzt durch DirectDebitReferenceWrapper | Anbindung an verwendete Zahlungsreferenzobjekte (Forderungen, Rechnungspositionen, etc.) |
Tabelle 4.8.1: Übersicht Nuclet-Schnittstellen
...
Das sind jene Objekte, die bei SEPA-Exporten als Referenz für Zahlungsanweisungen verwendet werden.
| Methode | Funktion | Anpassung optional? |
|---|---|---|
| CreditorReferenceWrapper | Zuordnung des tatsächlich genutzten Businessobjektes | nein |
| getCreditorId() | liefert die Datenbank-ID des Kreditoren | ja |
| getCreditTransferReference() | liefert das Identifizierungsmerkmal für Überweisungen (also z.B. die Rechnungsnummer) | ja |
| getReferenceDate() | liefert ein Referenzdatum (bspw. das Rechnungsdatum) | ja |
| getTotalAmount() | liefert den Gesamtbetrag einer Transaktion (bspw. den Rechnungsbetrag); falls die Implementierung null zurückliefert, werden die Beträge aus den Einzelbeträgen ermittelt (siehe unten: CreditTransferReferenceWrapper) | ja |
Tabelle 4.8.1.1: Anpassungen in CreditorReferenceWrapper
...
Der Konstruktor der Klasse und die Methode getIso4217Code() sind mit anwendungsspezifischem Verhalten zu befüllen. Letztere Methode sollte den ISO-4217-Währungscode (siehe dazu Wikipedia) des Währunsobjektes zurückliefern.
| Methode | Funktion | Anpassung optional? |
|---|---|---|
| CreditorWrapper | Zuordnung des tatsächlich genutzten Businessobjektes | nein |
| getBic() | liefert die BIC des Debitoren, d.h. das Geschäftskennzeichen der Bank des Debitoren (BIC = Business Identifier Code, früher: Bank Identifier Code) | nein |
| getIban() | liefert die IBAN des Debitoren, d.h. die internationale Bankkontonummer (IBAN = International Bank Account Number) | nein |
| getName() | liefert den Namen des Debitoren | nein |
Tabelle 4.8.1.2: Anpassungen in CreditorWrapper
...
Mit Zahlungsreferenzen sind jene Objekte gemeint, :
| Methode | Funktion | Anpassung optional? |
|---|---|---|
| CreditTransferReferenceWrapper() | Zuordnung des tatsächlich genutzten Businessobjektes | nein |
| getAmount() | liefert den zu zahlenden Betrag; wird genutzt, wenn die Methode getTotalAmount() aus dem übergeordneten CreditorReferenceWrapper null zurückliefert | nein |
| getReferenceId() | liefert die Datenbank-ID des übergeordneten Referenzobjektes (siehe 4.7.1.2) | nein |
| setSEPAExportDate() | setzt das Export-Datum nach erfolgtem SEPA-Export | nein |
| setSEPAPaymentInformationId() | setzt die SEPA-Zahlungsinformation nach erfolgtem SEPA-Export | nein |
Tabelle 4.8.1.3: Anpassungen in CreditTransferReferenceWrapper
...
Das sind jene Objekte, die bei SEPA-Exporten als Referenz für Zahlungsanweisungen verwendet werden.
| Methode | Funktion | Anpassung optional? |
|---|---|---|
| DebitorReferenceWrapper | Zuordnung des tatsächlich genutzten Businessobjektes | nein |
| getDebitorId() | liefert die Datenbank-ID des Debitoren | ja |
| getDirectDebitReference() | liefert das Identifizierungsmerkmal für Lastschriften (also z.B. die Rechnungsnummer) | ja |
| getReferenceDate() | liefert ein Referenzdatum (bspw. das Rechnungsdatum) | ja |
| getTotalAmount() | liefert den Gesamtbetrag einer Transaktion (bspw. den Rechnungsbetrag); falls die Implementierung null zurückliefert, werden die Beträge aus den Einzelbeträgen ermittelt (siehe unten: DirectDebitReferenceWrapper) | ja |
Tabelle 4.8.1.4: Anpassungen in DebitorReferenceWrapper
...
Der Konstruktor der Klasse und die Methode getIso4217Code() sind mit anwendungsspezifischem Verhalten zu befüllen. Letztere Methode sollte den ISO-4217-Währungscode (siehe dazu Wikipedia) des Währunsobjektes zurückliefern.
| Methode | Funktion | Anpassung optional? |
|---|---|---|
| DebitorWrapper | Zuordnung des tatsächlich genutzten Businessobjektes | nein |
| getBic() | liefert die BIC des Debitoren, d.h. das Geschäftskennzeichen der Bank des Debitoren (BIC = Business Identifier Code, früher: Bank Identifier Code) | nein |
| getDateOfSEPAMandateSignature() | liefert das Datum, an dem das SEPA-Mandat vom Debitoren ausgestellt/unterzeichnet wurde | nein |
| getHasSEPAMandateChanged() | liefert Informationen darüber, ob sich das SEPA-Mandat des Debitoren verändert hat (d.h. ob die Bankverbindung geändert wurde) | nein |
| getIban() | liefert die IBAN des Debitoren, d.h. die internationale Bankkontonummer (IBAN = International Bank Account Number) | nein |
| getIsNewDebitorAgent() | liefert Informationen darüber, ob der Debitor seit dem letzten SEPA-Exort das Kreditinstitut gewechselt hat | nein |
| getName() | liefert den Namen des Debitoren | nein |
| getOriginalDebitorAccount() | liefert die letzte IBAN des Debitoren, falls sich diese seit dem letzten SEPA-Export geändet haben sollte | nein |
| getSEPAMandateIdentification() | liefert die SEPA-Mandatskennung des Debitoren | nein |
| getSEPASequenceTypeId() | liefert die SEPA-Laufzeit für den Debitoren (ist die SEPA-Lastschrift erstmals, einmalig oder wiederkehrend?) | nein |
| setHasSEPAMandateChanged() | setzt Informationen darüber, ob sich das SEPA-Mandat des Debitoren verändert hat (d.h. ob die Bankverbindung geändert wurde) | nein |
| setIsNewDebitorAgent() | setzt Informationen darüber, ob der Debitor seit dem letzten SEPA-Exort das Kreditinstitut gewechselt hat | nein |
| setOriginalDebitorAccount() | setzt die letzte IBAN des Debitoren, falls sich diese seit dem letzten SEPA-Export geändet haben sollte | nein |
| setSEPASequenceTypeId() | setzt die SEPA-Laufzeit für den Debitoren (ist die SEPA-Lastschrift erstmals, einmalig oder wiederkehrend?) | nein |
Tabelle 4.8.1.5: Anpassungen in DebitorWrapper
...
Mit Zahlungsreferenzen sind jene Objekte gemeint, :
| Methode | Funktion | Anpassung optional? |
|---|---|---|
| DirectDebitReferenceWrapper() | Zuordnung des tatsächlich genutzten Businessobjektes | nein |
| getAmount() | liefert den zu zahlenden Betrag; wird genutzt, wenn die Methode getTotalAmount() aus dem übergeordneten DebitorReferenceWrapper null zurückliefert | nein |
| getReferenceId() | liefert die Datenbank-ID des übergeordneten Referenzobjektes (siehe 4.7.1.2) | nein |
| setSEPAExportDate() | setzt das Export-Datum nach erfolgtem SEPA-Export | nein |
| setSEPAPaymentInformationId() | setzt die SEPA-Zahlungsinformation nach erfolgtem SEPA-Export | nein |
Tabelle 4.8.1.3: Anpassungen in DirectDebitReferenceWrapper
...
| Codeblock | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
package org.nuclet.sepa.wrapper;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import org.nuclos.api.businessobject.BusinessObject;
import org.nuclos.api.businessobject.facade.Modifiable;
import org.nuclos.api.businessobject.facade.Stateful;
import org.nuclet.sepa.wrapper.AbstractDirectDebitReferenceWrapper;
// @replace!
//
// import org.nuclet.businesstemplate.ClientBillingPosition;
/**
* Wrapper implementation for SEPA direct debit references (invoices, due payments, etc.)
*
* @note replaces the original class AbstractPaymentReferenceWrapper
*
* @version 1.0
* @date 30.01.2015
* @nuclet org.nuclet.SEPA
* @nucletversion 2.0.0
* @sincenucletversion 2.0.0
* @since 30.01.2015
*
* @author frank.lehmann@nuclos.de
*
*/
public class DirectDebitReferenceWrapper extends AbstractDirectDebitReferenceWrapper
{
public DirectDebitReferenceWrapper(final Modifiable reference)
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// if (reference instanceof ClientBillingPosition) {
// this.businessObject = reference;
// }
}
/**
* Liefert die Datenbank-ID des übergeordneten Referenzobjektes
* (also bspw. die ID der Rechnung, falls es sich bei den Zahlungsreferenzen um
* Rechnungspositionen handelt)
*
*/
public Long getReferenceId()
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// return ((ClientBillingPosition)this.businessObject).getClientBillingId();
return null;
}
/**
* Liefert den Zahlungsbetrag
*
*/
public BigDecimal getAmount()
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// return ((ClientBillingPosition)this.businessObject).getAmount();
return null;
}
public void setSEPATransactionId(final Long lngSEPATransactionId)
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// ((ClientBillingPosition)this.businessObject).setSEPATransactionId(lngSEPATransactionId);
}
public void setSEPAExportDate(final Date datSEPAExportDate)
{
// @replace! Bitte bei Nuclet-Integration mit eigenem Code ersetzen!
//
// Beispiel:
//
// ((ClientBillingPosition)this.businessObject).setSEPAExportDate(datSEPAExportDate);
}
} |