| Datentypen |
|
Wir verwenden in den Datenstrukturen ausschließlich unter
Windows gültige Typen, d.h. diese Typen werden
|
in aller Regel von allen Programmen verstanden. Hierzu
zählen folgende Typen:
|
|
- double : 8 Byte große Gleitkommazahl
- integer : 4 Byte große Ganzzahl mit Vorzeichen
- longint : wie integer
- word : 2 Byte große Ganzzahl ohne Vorzeichen
|
|
Ein Datum wird in der Form jjjjmmtt als Longint-Zahl
übergeben. Aus diesen Typen bilden wir zusammenhängende Datenmengen,
sogenannte Strukturen,
|
für jede Vertragsart. Über diese Strukturen
kommunizieren Sie mit den FINBAU-Tools.
|
| Vorgehensweise |
|
Sie füllen die vertragsartenabhängigen Eingabestrukturen
mit Werten, überge-ben diese an die FINBAU-Tools und lesen nach einer
Berechnung die Ergebnis-struktur aus.
Die Strukturdefinitionen und Konstanten stehen in einer
von uns gelieferten Schnittstellendatei (Interface).
|
Sie passen diese Schnittstellendatei an Ihre
Programmiersprache an, binden sie in Ihre Anwendung ein und können dann
bereits mit den FINBAU-Tools arbeiten.
Grob gesehen sieht ein Algorithmus gleich für welche
Funktionalität in Ihrer Anwendung wie folgt aus:
|
|
Angabenstruktur setzen;
Vorgabenstruktur setzen;
FINBAU-Tools initialisieren;
Vertragsart spezifizieren;
Vorgabenstruktur an die FINBAU-Tools übergeben;
Angabenstruktur an die FINBAU-Tools übergeben;
gewünschte Berechnung ausführen;
Ergebnisstruktur auslesen;
// falls mit Kontoverlauf
solange Kontodatensatz vorhanden
lese Kontodatensatz;
Kontodatensatz zwischenspeichern;
FINBAU-Tools zurücksetzen;
|
| Berechnung
eines Annuitätendarlehens |
|
Im folgenden zeigen wir anhand eines Beispiels die
Vorgehensweise konkret auf. Aufgrund der Datenfülle belegen wir nur die
wichtigen Datenfelder. "FIBA_IFM" deutet auf eine Funktion der
FINBAU-Tools hin. Die Variable KeinFehler dient der Fehlerabfrage.
Ein Annuitätendarlehen über 100.000 soll vom 15.09.2001
bis zum 15.09.2009
|
mit einer Tilgung von 1,5 % und einem Zinssatz von 5,5 %
p.a. bei 95 % Auszahlung und achtjähriger Zins-bindung berechnet werden.
Außer einer Bearbeitungsgebühr in Höhe von 1 % fallen keine weiteren
Gebühren an.
Die Kontoführung des Instituts sieht eine monatliche
Zins- und Zahlungsverrechnung vor.
|
|
// Tarifvorgaben setzen
VorgabenStruc.ZinsSatz := 0.055;
VorgabenStruc.ZinsModell := ZV_ZWOELF + ZV_ZWOELF * 256;
VorgabenStruc.RegelTilgRate := 0.015;
VorgabenStruc.ZahlFrist := 30 + 96 * 256;
VorgabenStruc.DarlGeb := 0.01;
VorgabenStruc.Disagio := 0.05;
...
// Vertragsangaben setzen
AngabenStruc.AnfDarlehen := 100000;
AngabenStruc.DGBehandlung := 0 + _YES * 256;
AngabenStruc.TilgRate := 100000*0.07/12;
AngabenStruc.TilgDatum := 20011015;
AngabenStruc.VertBeginn := 20010915;
AngabenStruc.VertEnde := 20090915;
...
// FINBAU-Tools initialisieren
FIBA_IFM.InitFiBaTools;
// Vertragsart mitteilen
FIBA_IFM.SetzeVertragsArt(VA_ANNUDARL);
KeinFehler:=_YES;
// Tarifvorgaben in die FINBAU-Tools schicken
wenn KeinFehler = _YES dann
KeinFehler:=FIBA_IFM.VorgabenTransfer(_IMP,
VorgabenStruc);
// Vertragsangaben in die FINBAU-Tools schicken
wenn KeinFehler = _YES dann
KeinFehler:=FIBA_IFM.VertragImpTransfer(_IMP,
AngabenStruc);
// Kontoverlauf vorbereiten
wenn KeinFehler = _YES dann
KeinFehler:=FIBA_IFM.InitKonto;
// KontoSteuerStruc gibt an, ob ein Kontoverlauf erzeugt werden soll
// in diesem Fall wird ein monatlicher Verlauf erzeugt
KontoSteuerStruc.KontoEin := _YES;
KontoSteuerStruc.AusgRyth := AR_MONATLICH;
// Vertrag einmal durchrechnen
wenn KeinFehler = _YES dann
KeinFehler:=FIBA_IFM.VertragFortschreiben(KontoSteuerStruc);
// Ergebnisse auslesen
wenn KeinFehler = _YES dann
KeinFehler:=FIBA_IFM.VertragExpTransfer(_EXP,
ErgebnisStruc);
// Kontoverlauf auslesen
FIBA_IFM.ErstesKonto;
solange (KeinFehler = _YES) UND (FIBA_IFM.KontoVorhanden = _YES)
// den nächsten Kontodatensatz nach KontoStruc lesen
KeinFehler:=FIBA_IFM.HoleKonto(KontoStruc);
wenn KeinFehler = _YES dann
KontoStruc
zwischenspeichern;
FIBA_IFM.NaechstesKonto;
// Efektivzins ermitteln
wenn KeinFehler = _YES dann
KeinFehler:=FIBA_IFM.VertragEffZins(BM_AIBDPANGV,
EffZins);
// FINBAU-Tools zurücksetzen
FIBA_IFM.QuitFiBaTools;
|
|
© Lehmann GmbH 2001, Stand März 2002
|