Bezeichnung des Algorithmus | XEN_Neukreditvergabe_gem_FMA |
Kurzbezeichnung | Ableitung 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:
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ür | Wertart_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)", "Stundungsmaßnahme (ST)")) 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 |