Bezeichnung des Algorithmus | XEN_Laufzeit_Neukredit_in_Monaten |
Kurzbezeichnung | Algorithmus zur Berechnung der vertraglich vereinbarten Laufzeit eines Kredits in Monaten |
Verbale Beschreibung/Beispiele | Die Laufzeit wird nur für Geschäfte mit GFA185_Private_Wohnimmobilienfinanzierung_Kennzeichen = WAHR und Neukreditvergaben ermittelt. Vom Algorithmus ausgeschlossen sind Kredite mit Vertragsende = "99991231" und GF82_Kuendigungsfrist_Code = "Keine Frist". Es wird die Differenz zwischen dem letzten Neukreditvergabe-Ereignisdatum und dem Geschäftsende errechnet. Gab es in der Vergangenheit kein solches Ereignis, so wird der Geschäftsbeginn herangezogen. Gibt es kein Geschäftsende, so wird stattdessen der nächstmögliche Auflösungstermin verwendet. Im Unterschied zu SC_Ursprungslaufzeit_Code bekommt die Neukreditvergabe bei einer Rahmenerhöhung eine eigene Laufzeit. |
Kommt vor in/wird verwendet für | GFA188_Laufzeit_Neukredit_in_Monaten |
Formale Beschreibung | FUNKTION XEN_Laufzeit_Neukredit_in_Monaten (AI_Mandant MA, AI_Geschaeftsfall_ID gfId, AI_Stichtag_Datum date) //Ermittlung bestimmter Eigenschaften des betrachteten Geschäftsfalls vBeginn = SELEKTIERE GF.GF17_Geschaeftsbeginn_Datum VON GF_Geschaeftsfall vEnde = SELEKTIERE GF.GF52_Geschaeftsende_Datum VON GF_Geschaeftsfall kuendigungsfrist = SELEKTIERE GF.GF82_Kuendigungsfrist_Code VON GF_Geschaeftsfall nTermin = SELEKTIERE GF.GF50_Naechstmoeglicher_Aufloesungstermin_Datum VON GF_Geschaeftsfall ereignisDatum = SELEKTIERE EE.AI_Ereignis_Datum VON EE_Ereignis VON GF_Geschaeftsfall MIT EE.AI_Ereignisart_Code ISTGLEICH "Rahmenerhöhung (RA)" relevanterKredit = SELEKTIERE GF.GFA185_Private_Wohnimmobilienfinanzierung_Kennzeichen VON GF_Geschaeftsfall neukreditvergabe = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT GFW.AI_Wertart_Code ISTGLEICH "Neukreditvergabe (NV)" VON GF_Geschaeftsfall //Verarbeitung sonstiger Geschäftsfälle WENN (relevanterKredit ISTGLEICH WAHR UND neukreditvergabe > 0) DANN WENN(NICHT(ISTLEER(ereignisDatum))) DANN beginn = ereignisdatum SONST beginn = vBeginn ENDE WENN (vEnde ISTGLEICH "99991231") DANN WENN(kuendigungsfrist UNGLEICH "Keine Frist (KF)") DANN WENN (nTermin UNGLEICH "99991231") DANN ende = nTermin ENDE ENDE SONST ende = vEnde ENDE WENN(beginn UNGLEICH NULL UND ende UNGLEICH NULL) DANN diff = XEN_Laufzeitenberechnung(beginn, ende) //Gibt die zweite Stelle (Monate) des Vektors zurück m_diff = diff[2] //Gibt die dritte Stelle (Jahre) des Vektors zurück j_diff = diff[3] rValue = m_diff + j_diff * 12 RUECKGABE rValue ENDE ENDE FUNKTIONSENDE |