| 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. Über diese
Strukturen kommunizieren Sie mit den BAUFI-Tools.
|
| Vorgehensweise |
|
Sie füllen die Eingabestrukturen mit Werten, übergeben
diese an die BAUFI-Tools und lesen nach einer Berechnung die
Ergebnisstruktur 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 BAUFI-Tools arbeiten.
Grob gesehen sieht ein Algorithmus in Ihrer Anwendung wie
folgt aus:
|
|
Finanzierungsverlauf erstellen;
Objektstruktur setzen;
Kundenstruktur setzen;
BAUFI-Tools initialisieren;
Finanzierungsverlauf an die BAUFI-Tools übergeben;
Objektstruktur an die BAUFI-Tools übergeben;
Kundenstruktur an die BAUFI-Tools übergeben;
gewünschte Berechnung ausführen;
Finanzierungsverlauf aus den BAUFI-Tools auslesen;
BAUFI-Tools zurücksetzen;
|
| Berechnung
einer Finanzierung |
|
Im folgenden zeigen wir anhand eines Beispiels die
Vorgehensweise konkret auf. Aufgrund der Datenfülle belegen wir nur die
wichtigen Datenfelder. "BAUFI" deutet auf eine Funktion der
BAUFI-Tools hin. Die Variable KeinFehler dient der Fehlerabfrage.
Eine Kreditsumme über 300.000 soll vom 30.01.2002 bis zum
30.12.2010 für die Finanzierung eines selbstgenutzten Heims verwendet
werden. Der Kunde ist verheiratet, hat zwei Kinder, die bis
|
2005 bzw. 2012 steuerlich "ansetzbar" sind. Die
Voraussetzungen zum Erhalt der Eigenheimzulage sind erfüllt.
Wir erzeugen einen fiktiven Zahlungsstrom. Die Struktur
BauFiVerlaufIORec enthält eine Komponente KontoRec mit dem
Finanzierungsverlauf. Hierin wiederum finden wir u. a. die für dieses
Beispiel wichtigen Felder TilgUmsatz, TilgAuszahl, TilgSaldo und LfdDatum
(Datum!).
|
|
KeinFehler:=_YES;
i:=2002;
solange (i <= 2010) UND (KeinFehler = _YES)
wenn (i = 2002)
BauFiVerlaufIORec.KontoRec.TilgAuszahl := 300000
ansonsten
BauFiVerlaufIORec.KontoRec.TilgAuszahl := 0;
BauFiVerlaufIORec.KontoRec.TilgUmsatz := 12000;
BauFiVerlaufIORec.KontoRec.TilgZinsen := 6000;
Saldo := BauFiVerlaufIORec.KontoRec.TilgSaldo
-
BauFiVerlaufIORec.KontoRec.TilgUmsatz +
BauFiVerlaufIORec.KontoRec.TilgZinsen;
BauFiVerlaufIORec.KontoRec.TilgSaldo := Saldo;
BauFiVerlaufIORec.KontoRec.LfdDatum := i*10000 +
12*100 + 30;
KeinFehler:=BAUFI.NeuerBauFiVorgang(BauFiVerlaufIORec);
i := i + 1;
Als nächstes weisen wir den Objektangaben BauFiObjtAngabenIORec Werte an
ausgewählten Stellen zu. Die Struktur umfasst weit mehr Felder.
BauFiObjtAngabenIORec.ObjektArt := OA_ETW; // Eigentumswohnung
BauFiObjtAngabenIORec.Massnahme := OM_NEUBAU; // zu finanz. Maßnahme
BauFiObjtAngabenIORec.KaufDatum := 20011017; // Erwerbsdatum
BauFiObjtAngabenIORec.ObjektDatum := 20020630; // Erstellungsdatum
BauFiObjtAngabenIORec.WohnFLSelbst := 100; // Wohnfläche des
selbstgenutzten Teil
BauFiObjtAngabenIORec.EZDatumSelbst := 20021030; // Einzugsdatum f.
selbstgenutzten Teil
BauFiObjtAngabenIORec.AbschrArtSelb := AB_ZulaNeu; // Eigenheimzulage
BauFiObjtAngabenIORec.AbschrSatzSelb := ... // Zeiger auf ein Feld mit den
jährl.
// Abschreibungssätzen; dieses Feld
// wird in Abhängigkeit der gewählten
// Abschreibungsform erzeugt
BauFiObjtAngabenIORec.GrdstueckKost := 0;
BauFiObjtAngabenIORec.GebaeudeKost := 300000; //
Gebäudeherstellungskosten
BauFiObjtAngabenIORec.GrdErwStSatz := 0.035; // Grunderwerbssteuersatz
BauFiObjtAngabenIORec.GrdbuchSatz := 0.015; // Grundbucheintragungssatz
BauFiObjtAngabenIORec.MaklerSatz := 0.0; // Maklergebühr
...
Schließlich fehlen noch die Kundenangaben BauFiKundAngabenIORec, denen
wir ebenfalls
Werte an ausgewählten Stellen zuweisen. Eine Komponente dieser Struktur
sind die
Einkommensdaten EKDaten und eine andere die Kinderdaten KinderTab. Die
Struktur
umfasst weit mehr Felder als wir hier setzen.
BauFiKundAngabenIORec.FamStand := FAM_VERH; // Familienstand; FAM_XXX
BauFiKundAngabenIORec.KinderTab[1].GebDatum := 19870907;
BauFiKundAngabenIORec.KinderTab[1].BisJahr := 2005;
BauFiKundAngabenIORec.KinderTab[2].GebDatum := 19920709;
BauFiKundAngabenIORec.KinderTab[2].BisJahr := 2012;
...
BauFiKundAngabenIORec.EKDaten.EinkJahr := 2001;
BauFiKundAngabenIORec.EKDaten.ZuverstEK := 80000;
BauFiKundAngabenIORec.EKDaten.NettoEK := 60000;
BauFiKundAngabenIORec.EKDaten.BruttoEK := 100000;
BauFiKundAngabenIORec.EKDaten.KirchStKunde:= 0.07;
...
Diese Angaben übergeben Sie an die BAUFI-Tools und lesen nach einer
Berechnung
den Finanzierungsverlauf wieder aus. In der o. a. Struktur
BauFiVerlaufIORec
gibt es die Komponente SteuerRec, die die steuerliche Förderung für
jedes Jahr
enthält. Der Quellcode sieht nun wie folgt aus:
// BAUFI-Tools für die Berechnung vorbereiten
BAUFI.InitBauFiTools;
// Kontoverlauf erzeugen und übergeben
Vorgang siehe oben
// Objektangaben setzen
Vorgang siehe oben
// Kundenangaben setzen
Vorgang siehe oben
// Berechnung ausführen
Keinfehler:=BAUFI.KalkBauFiVerlauf(BauFiObjtAngabenIORec,
BauFiKundAngabenIORec,
AR_JAEHRLICH);
// nach erfolgreicher Berechnung den Verlauf wieder auslesen
wenn KeinFehler = _YES
Anzahl := BAUFI.BauFiVorgangAnzahl;
i:=1;
solange (i <= Anzahl) UND (KeinFehler = _YES)
KeinFehler:=BAUFI.HoleBauFiVorgang(BauFiVerlaufIORec);
// BauFiVerlaufIORec irgendwo zwischenspeichern
i := i + 1;
// BAUFI-Tools zurücksetzen
BAUFI.QuitBauFiTools;
|
|
© Lehmann GmbH 2001, Stand März 2002
|