Bezeichnung des AlgorithmusXEN_Neukreditvergabe_gem_FMA
KurzbezeichnungAbleitung der Neukreditvergabe gem. FMA
Verbale Beschreibung/Beispiele

Der Algorithmus ermittelt für inländische private Haushalte (identifiziert über den ESVG-Sektor) den Wert der Ausprägung "Neukreditvergabe gemäß FMA" der Codeliste Wertart_CL.

In diesem Algorithmus stellt die Variable t die aktuelle Periode dar; die Variable (t-1) stellt die Vorperiode dar.

Konstellationen, die eine Neukreditvergabe auslösen:

  1. Fall - Zuteilungen von Bauspardarlehen nach einer Zwischenfinanzierung: Neukreditvergabe gem. FMA = Differenz zum Rahmen der Zwischenfinanzierung
  2. Fall - Sonstige neue Geschäftsfälle: Neukreditvergabe gem. FMA = Kommunizierter Gesamtrahmen des Geschäftsfalls
  3. Fall - Überziehungen, die in der vorangegangenen Periode noch nicht vorhanden waren: Neukreditvergabe gem. FMA = Differenz aus "Buchwert" und "kommuniziertem Gesamtrahmen". Bestandsveränderungen aufgrund von Währungskursschwankungen werden nicht als Neukreditvergabe ausgewiesen.
  4. Fall - Überziehungen, welche in der vorangegangenen Periode bereits vorhanden waren: Neukreditvergabe gem. FMA = Erhöhung der Überziehung
  5. Fall - Konvertierungen, Neuverhandlungen und Stundungen: Neukreditvergabe gem. FMA = "kommunizierte Gesamtrahmen" des Geschäftsfalls
  6. Fall - revolvierende Ausnutzungen ohne Sublimit unter einem Mehrzweckrahmen: Neukreditvergabe gem. FMA = Differenz des "Ausstehenden Nominalwert (ONA)" zum Vormonat des Geschäftsfalls
  7. Fall - Rahmenerhöhungen: Neukreditvergabe gem. FMA = Differenz zwischen dem "kommuniziertem Gesamtrahmen" der aktuellen Periode zur Vorperiode. Es sind nur Erhöhungen von "kommunizierten Gesamtrahmen" relevant.

Hinweis: Die Wertmesseinheit "Originalwährung (ORW)" bezieht sich auch für Geschäftsfälle der Vorperiode (insbesondere Zwischenfinanzierungen von Bauspardarlehen) auf die GF03_Geschaeftsfall_Waehrung_Code der aktuellen Periode.

Kommt vor in/wird verwendet fürWertart_CL
Formale Beschreibung

FUNKTION XEN_Neukreditvergabe_gem_FMA(AI_Mandant MA, AI_Geschaeftsfall_ID gfId, AI_Stichtag_Datum t)

//in diesem Algorithmus stellt die Variable t die aktuelle Periode dar; die Variable (t-1) stellt die Vorperiode dar

Einheit = SELEKTIERE EM.AI_Einheitennummer_ID VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Inhaber (IH)" VON GF_Geschaeftsfall

Sektor = SELEKTIERE EMA49_Sektor_fuer_Meldezwecke_Code VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH Einheit

Land = SELEKTIERE EMA48_Land_fuer_Meldezwecke_Code VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH Einheit

geschaeftsfallkategorie = SELEKTIERE GF.GF00_Geschaeftsfallkategorie_Code VON GF_Geschaeftsfall

waehrung = SELEKTIERE GF.GF03_Geschaeftsfall_Waehrung_Code VON GF_Geschaeftsfall

ultimokurs = SELEKTIERE WK.WK02_Tages_Ultimokurs VON WK_Waehrungskurs MIT ((WK.AI_Waehrungskurs_Datum ISTGLEICH AI_Stichtag_Datum) UND (WK_Waehrungskurs.AI_Waehrung_Code ISTGLEICH waehrung))

//Selektion aller Ereignisse, welche seit der letzten Periode (Vorperiode) eingetreten sind

Ereignisse = SELEKTIERE AI_Ereignisart_Code VON GF_Geschaeftsfall VON EE_Ereignis (MIT (t-1) < EE.AI_Ereignis_Datum <= (t))

//Ermittlung des betrachteten Geschaeftsfalls zum Zeitpunkt der vorangegangenen Periode (date-1)

GFVorPeriode = XEN_GF_Vorperiode(MA, gfId, t)

MAVorPeriode = XEN_Mandant_Vorperiode(MA, gfId, t)

gfid_zwischenfinanzierung = SELEKTIERE EE.AI_Geschaeftsfall_ID2 VON EE_Ereignis MIT (EE.AI_Ereignisart_Code ISTGLEICH "Zuteilung Bauspardarlehen (ZB)" UND EE. AI_Geschaeftsfall_ID ISTGLEICH GFID UND ((date-1) < EE.AI_Ereignis_Datum <= date))

mehrzweckrahmen_kennzeichen = SELEKTIERE GF.GF196_Mehrzweckrahmen_Kennzeichen VON GF_Geschaeftsfall

rahmenbeziehung = SELEKTIERE GB.AI_Geschaeftsfall_ID VON GB_Geschaeftsfall_Sachkonto_Beziehung MIT ((GB.GB01_Beziehungsart_Code ISTGLEICH "Rahmengeschäftsfall Beziehung (RB)") UND (GB.AI_Geschaeftsfall_ID2 ISTGLEICH GFID))

SublimitJN = SELEKTIERE GF.GF211_Sublimit_Kennzeichen VON GF_Geschaeftsfall

//Es sind nur Kredite für die Berechnung relevant. Mehrzweckrahmen werden ausgeschlossen.

WENN (mehrzweckrahmen_kennzeichen ISTGLEICH FALSCH UND geschaeftsfallkategorie ENTHAELT ("Einmalkredit (exkl. Kreditlinie) (X)", "Kreditlinie (Y)", "Wechselkredit (B)", "Kreditkartenkredit (C)", "Revolvierender Kredit (exkl. Überziehungskredit) (V)", "Überziehungskredit (W)", "Barvorlagen (E)", "Operating Leasing (F)", "Finance Leasing (G)")) DANN

// Einschränkung auf inländische private Haushalte gem. ESVG

WENN (Land ISTGLEICH "AT" UND Sektor ENTHAELT "Selbständigenhaushalte (mit u. ohne Arbeitnehmer) (1400A)", "sonstige private Haushalte (1400B)", "private Haushalte nicht zuordenbar (1400Z)") DANN

rWert = 0

komRahmenAP = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert VON GF_Geschaeftsfall MIT (GFW.AI_Wertart_Code ISTGLEICH "kommunizierter Gesamtrahmen (KGR)" UND GFW.AI_Wertmesseinheit_Code ISTGLEICH "Euro-Gegenwert (EUR)")

AusnuetzungAP = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert VON GF_Geschaeftsfall MIT (GFW.AI_Wertart_Code ISTGLEICH "Ausstehender Nominalwert (ONA)" UND GFW.AI_Wertmesseinheit_Code ISTGLEICH "Euro-Gegenwert (EUR)")

komRahmenAP_ORW = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert VON GF_Geschaeftsfall MIT (GFW.AI_Wertart_Code ISTGLEICH "kommunizierter Gesamtrahmen (KGR)" UND GFW.AI_Wertmesseinheit_Code ISTGLEICH "Originalwährung (ORW)")

AusnuetzungAP_ORW = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert VON GF_Geschaeftsfall MIT (GFW.AI_Wertart_Code ISTGLEICH "Ausstehender Nominalwert (ONA)" UND GFW.AI_Wertmesseinheit_Code ISTGLEICH "Originalwährung (ORW)")

WENN (ISTLEER(GFVorPeriode)) DANN

WENN(Ereignisse ENTHAELT ("Zuteilung Bauspardarlehen (ZB)") UND NICHT(ISTLEER(gfid_zwischenfinanzierung))) DANN

// 1.Fall: Zuteilungen von Bauspardarlehen nach einer Zwischenfinanzierung.

ausnuetzung_zwfin = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT (GFW.AI_Geschaeftsfall_ID ISTGLEICH gfid_zwischenfinanzierung UND GFW.AI_Wertart_Code ISTGLEICH "Ausstehender Nominalwert (ONA)" UND GFW.AI_Wertmesseinheit_Code ISTGLEICH "Originalwährung (ORW)" UND GFW. AI_Stichtag_Datum ISTGLEICH (date-1))

rahmen_zwfin = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT (GFW.AI_Geschaeftsfall_ID ISTGLEICH gfid_zwischenfinanzierung UND GFW.AI_Wertart_Code ISTGLEICH "kommunizierter Gesamtrahmen (KGR)" UND GFW.AI_Wertmesseinheit_Code ISTGLEICH "Originalwährung (ORW)" UND GFW. AI_Stichtag_Datum ISTGLEICH (date-1))

valuet0 = MAX(ausnuetzung_zwfin, rahmen_zwfin)

valuet1 = MAX(AusnuetzungAP_ORW , komRahmenAP_ORW )

WENN(valuet1 > valuet0) DANN

rWert = rWert + ((valuet1 - valuet0) / ultimokurs)

ENDE

SONST

// 2.Fall: Sonstige neue Geschäftsfälle

rWert = rWert + MAX(komRahmenAP, AusnuetzungAP)

ENDE

SONST

//Verarbeitung sonstiger Geschäftsfälle: zum betrachteten Geschäftsfall existiert ein Datensatz in der vorangegangenen Periode

komRahmenVP_ORW = SELEKTIERE Wert VON GFW_Geschaeftsfall_Wert VON GF_Geschaeftsfall MIT (GFW.AI_Geschaeftsfall_ID ISTGLEICH GFVorPeriode UND GFW.AI_Mandant ISTGLEICH MAVorPeriode UND GFW.AI_Wertart_Code ISTGLEICH "kommunizierter Gesamtrahmen (KGR)" UND GFW.AI_Wertmesseinheit_Code ISTGLEICH "Originalwährung (ORW)" UND GFW.AI_Stichtag_Datum ISTGLEICH (t-1))

AusnuetzungVP_ORW = SELEKTIERE Wert VON GFW_Geschaeftsfall_Wert VON GF_Geschaeftsfall MIT (GFW.AI_Geschaeftsfall_ID ISTGLEICH GFVorPeriode UND GFW.AI_Mandant ISTGLEICH MAVorPeriode UND GFW.AI_Wertart_Code ISTGLEICH "Ausstehender Nominalwert (ONA)" UND GFW.AI_Wertmesseinheit_Code ISTGLEICH "Originalwährung (ORW)" UND GFW.AI_Stichtag_Datum ISTGLEICH (t-1))

Ueberziehung_ORW = AusnuetzungAP_ORW - komRahmenAP_ORW

UeberziehungVP_ORW = AusnuetzungVP_ORW - komRahmenVP_ORW

WENN (Ueberziehung_ORW > 0) DANN

//Verarbeitung von Überziehungen

WENN (UeberziehungVP_ORW <= 0) DANN

// 3.Fall: Bei Überziehungen, die in der vorangegangenen Periode noch nicht vorhanden waren, wird die Differenz aus "Buchwert" und "kommuniziertem Gesamtrahmen" als Rückgabewert verwendet

Ueberziehung = AusnuetzungAP - komRahmenAP

rWert = rWert + Ueberziehung

SONST

WENN (Ueberziehung_ORW > UeberziehungVP_ORW) DANN

// 4.Fall: Überziehungen, welche in der vorangegangenen Periode bereits vorhanden waren, sind nicht relevant, außer es fand eine Erhöhung der Überziehung statt

rWert = rWert + (Ueberziehung_ORW - UeberziehungVP_ORW) / ultimokurs

ENDE

ENDE

ENDE

WENN(Ereignisse ENTHAELT ("Währungsänderung/Konvertierung (KO)", "Neuverhandlung der Vertragsinhalte (NZ)", "Stundung: Instrumente mit geändertem, unter den Marktkonditionen liegendem Zinssatz (UZ)", "Stundung: Instrumente mit anderen geänderten vertraglichen Bedingungen (UV)", "Stundung: ganz oder teilweise umgeschuldete Verbindlichkeit (UU)")) DANN

// 5.Fall: bei Konvertierungen, Neuverhandlungen und Stundungen wird der "kommunizierte Gesamtrahmen" des Geschäftsfalls der Neukreditvergabe zugerechnet

rWert = rWert + komRahmenAP

SONST WENN (NICHT(ISTLEER(rahmenbeziehung)) UND geschaeftsfallkategorie ENTHAELT ("Revolvierender Kredit (exkl. Überziehungskredit) (V)", "Überziehungskredit (W)") UND SublimitJN ISTGLEICH FALSCH) DANN

// 6.Fall: bei revolvierenden Ausnutzungen ohne Sublimit unter einem Mehrzweckrahmen wird die Differenz des "Ausstehenden Nominalwert (ONA)" zum Vormonat des Geschäftsfalls der Neukreditvergabe zugerechnet

WENN (AusnuetzungAP_ORW > AusnuetzungVP_ORW ) DANN

rWert = (AusnuetzungAP_ORW AusnuetzungVP_ORW ) / ultimokurs

ENDE

SONST WENN (Ereignisse ENTHAELT ("Rahmenerhöhung (RA)")) DANN

// 7.Fall: bei "Rahmenerhöhungen" wird die Differenz zwischen dem "kommuniziertem Gesamtrahmen" der aktuellen Periode zur Vorperiode als Rückgabewert verwendet. Für die Neukreditvergabe sind nur Erhöhungen von "kommunizierten Gesamtrahmen" relevant.

WENN (summe_komRahmenAP_ORW > summe_komRahmenVP_ORW) DANN

rWert = rWert + (komRahmenAP_ORW - komRahmenVP_ORW) / ultimokurs

ENDE

ENDE

ENDE

WENN (rWert > 250) DANN

RUECKGABE rWert

ENDE

ENDE

ENDE

FUNKTIONSENDE



  • No labels