Bezeichnung des Algorithmus | XEN_Lage_der_Liegenschaft |
Kurzbezeichnung | Algorithmus zur Ermittlung der Lage der Liegenschaft |
Verbale Beschreibung/Beispiele | Es wird die Postleitzahl der vorhandenen Immobiliensicherheit verwendet, sofern die Immobilie in Österreich liegt. Wenn mehr als eine Immobiliensicherheit in Österreich vorliegt, so wird die Immobilie mit dem höchsten Marktwert für die geografische Zuordnung verwendet. Wenn keine Immobiliensicherheit in Österreich vorliegt, so wird die Postleitzahl des Kreditnehmers herangezogen. Im Fall von Schuldnergruppen wird jene des Inhabers vorrangig verwendet. Nur sofern der Hauptwohnsitz des Inhabers nicht Österreich ist, so wird die Postleitzahl der Co-Inhaber mit Hauptwohnsitz in Österreich verwendet. Hierbei die größte Ausprägung von Geografische_Gliederung_AT_CL mit den meisten Co-Inhabern ausgewählt. Bei Gleichstand wird die Priorisierung "Wien (2)" > "Landeshauptstädte ohne Wien (3)" > "übrige Regionen (4)" vorgenommen. Anhand der Postleitzahl wird zwischen "Wien (2)", "Landeshauptstädte ohne Wien (3)" und "übrige Regionen (4)" unterschieden (hierfür werden die Dokumente PLZ-Verzeichnis und PLZ-Bestimmungsort der Österreichischen Post AG zu Rate gezogen). Sofern weder eine Immobiliensicherheit noch ein Kreditnehmer mit Lage/Sitz in Österreich vorliegt, wird hier NULL zurückgegeben. |
Kommt vor in/wird verwendet für | GFA186_Geografische_Gliederung_Immobilienfinanzierung_Code |
Formale Beschreibung | FUNKTION XEN_Lage_der_Liegenschaft(AI_Geschaeftsfall_ID gfId, AI_Mandant MA, AI_Stichtag_Datum repDate) immobiliensicherheiten = SELEKTIERE ALLE ST.AI_Sicherheiten_ID VON ST_Sicherheiten_Stammdaten MIT (ST.ST03_Sicherheitenkategorie_Code ENTHAELT ("Wohnimmobilie (WI)", "Büros und sonstige Gewerberäume (GB)", "Sonstige Gewerbeimmobilien (SI)") VON SZ_Sicherheiten_Zerlegung MIT (SZ.AI_Zerlegungsansatz_Code ISTGLEICH "Hypothekarische Besicherung (HYP)" UND NICHT(ISTLEER(SZ.AI_Hypothek_ID))) VON GE_Geschaeftsfall_Exposure MIT GE.AI_Zerlegungsansatz_Code ISTGLEICH "Hypothekarische Besicherung (HYP)" VON GF_Geschaeftsfall ITERIERE immobiliensicherheit VON (0, Max(immobiliensicherheiten)) land = SELEKTIERE EM.EM02_Sitzland_MS_Code VON EM_Einheit_MS VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Der Sicherheit zugeordnete Einheit (SE)" UND KR.AI_Sicherheiten_ID ISTGLEICH immobiliensicherheit mwf = SELEKTIERE STW.Wert VON STW_Sicherheiten_Stammdaten_Wert MIT STW.AI_Wertart_Code ISTGLEICH "Marktwert nach Fertigstellung (MWF)" VON ST_Sicherheiten_Stammdaten ISTGLEICH immobiliensicherheit mw = SELEKTIERE STW.Wert VON STW_Sicherheiten_Stammdaten_Wert MIT STW.AI_Wertart_Code ISTGLEICH "Marktwert (MW)" VON ST_Sicherheiten_Stammdaten ISTGLEICH immobiliensicherheit WENN(mwf ISTGLEICH NULL) DANN marktwert = mw SONST marktwert = mwf ENDE hoechster_mw = 0 WENN(land ISTGLEICH "AT") DANN immobiliensicherheiten_at = immobiliensicherheiten_at UNION { immobiliensicherheit } WENN(marktwert > hoechster_mw) DANN immobiliensicherheit_hoechster_mw = immobiliensicherheit hoechster_mw = marktwert ENDE ENDE ITERATION ENDE anzahl_immobiliensicherheiten_at = GROESSE(immobiliensicherheiten_at) //Sind mehrere Immobiliensicherheiten vorhanden, so ist die Sicherheit mit dem höchsten Marktwert heranzuziehen. WENN(anzahl_immobiliensicherheiten_at > 1) DANN plz = SELEKTIERE ST.ST13_Immobilie_PLZ VON ST_Sicherheiten_Stammdaten MIT ST.AI_Sicherheiten_ID ISTGLEICH immobiliensicherheit_hoechster_mw rValue = plz_geografische_gliederung(plz) //Ist genau eine Immobiliensicherheit vorhanden, so wird deren Lage für die geografische Zuordnung herangezogen SONST WENN(anzahl_immobiliensicherheiten_at = 1) DANN plz = SELEKTIERE ST.ST13_Immobilie_PLZ VON ST_Sicherheiten_Stammdaten MIT ST.AI_Sicherheiten_ID ISTGLEICH immobiliensicherheiten rValue = plz_geografische_gliederung(plz) //Ist keine Immobiliensicherheit (in AT) vorhanden, so wird die Adresse des Kreditnehmers verwendet SONST inhaber = SELEKTIERE KR.AI_Einheitennummer_ID VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Inhaber (IH)" VON GF_Geschaeftsfall land = SELEKTIERE EM.EMA48_Land_fuer_Meldezwecke_Code VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH inhaber WENN(land ISTGLEICH "AT") DANN plz = SELEKTIERE EM.EM40_Kundenadresse_PLZ VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH inhaber rValue = plz_geografische_gliederung(plz) SONST //Sofern der "Hauptschuldner" (Inhaber) seinen Hauptwohnsitz nicht in Österreich hat, so wird auf die Co-Inhaber zurückgegriffen. //Zurückgegeben wird die größte Ausprägung von Geografische_Gliederung_AT_CL mit den meisten Co-Inhabern. //Dabei wird bei Gleichstand die Priorisierung "Wien (2)" > "Landeshauptstädte ohne Wien (3)" > "übrige Regionen (4)" vorgenommen. alle_coinhaber = SELEKTIERE ALLE KR.AI_Einheitennummer_ID VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Co-Inhaber (CI)" VON GF_Geschaeftsfall geo_Gliederung2 = 0 geo_Gliederung3 = 0 geo_Gliederung4 = 0 ITERIERE coinhaber VON (0, Max(alle_coinhaber)) land_coinhaber = SELEKTIERE EM.EMA48_Land_fuer_Meldezwecke_Code VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH coinhaber WENN(land_coinhaber ISTGLEICH "AT") DANN plz = SELEKTIERE EM.EM40_Kundenadresse_PLZ VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH coinhaber geoGliederung = plz_geografische_gliederung(plz) WENN (geoGliederung ISTGLEICH "Wien (2)") geo_Gliederung2 = geo_Gliederung2 + 1 SONST WENN (geoGliederung ISTGLEICH "Landeshauptstädte ohne Wien (3)") geo_Gliederung3 = geo_Gliederung3 + 1 SONST WENN (geoGliederung ISTGLEICH "übrige Regionen (4)") geo_Gliederung4 = geo_Gliederung4 + 1 ENDE ENDE ITERATION ENDE WENN (geo_Gliederung2 + geo_Gliederung3 + geo_Gliederung4 ISTGLEICH 0) //Sofern weder eine Immobiliensicherheit noch einer der Schuldner Sitz in Österreich hat, so wird hier 'NULL' zurückgegeben. Diese Geschäfte werden in weiterer Folge mit GFA185_Private_Wohnimmobilienfinanzierung_Kennzeichen = FALSCH gekennzeichnet. rValue = NULL SONST WENN(geo_Gliederung2 >= geo_Gliederung3) UND (geo_Gliederung2 >= geo_Gliederung4) rValue = "Wien (2)" SONST WENN(geo_Gliederung3 > geo_Gliederung2) UND (geo_Gliederung3 >= geo_Gliederung4) rValue = "Landeshauptstädte ohne Wien (3)" SONST WENN(geo_Gliederung4 > geo_Gliederung2) UND (geo_Gliederung4 > geo_Gliederung3) rValue = "übrige Regionen (4)" ENDE ENDE ENDE RUECKGABE rValue FUNKTIONSENDE // Hilfsfunktion FUNKTION plz_geografische_gliederung (plz) WENN(LINKS(plz,1) ISTGLEICH "1") DANN RUECKGABE "Wien (2)" SONST WENN((plz ENTHAELT ("3100", "3104", "3105", "3107") // St. Pölten ODER (plz ENTHAELT ("4020", "4030", "4040")) // Linz ODER (plz ENTHAELT ("5020", "5023", "5026", "5061, "5071", "5081", "5082")) // Salzburg ODER (plz ENTHAELT ("6020", "6080")) // Innsbruck ODER (plz ENTHAELT ("6900", "6911")) // Bregenz ODER (plz ENTHAELT ("7000")) // Eisenstadt ODER (plz ENTHAELT ("8010", "8020", "8036", "8041", "8042", "8043", "8044", "8045", "8046", "8047", "8051", "8052", "8053", "8054", "8055", "8073")) // Graz ODER (plz ENTHAELT ("9020", "9061", "9063", "9065", "9073", "9201"))) // Klagenfurt RUECKGABE "Landeshauptstädte ohne Wien (3)" SONST WENN(NICHT(ISTLEER(plz))) DANN RUECKGABE "übrige Regionen (4)" SONST //Sofern weder eine Immobiliensicherheit noch einer der Schuldner Sitz in Österreich hat, so wird hier 'NULL' zurückgegeben. Diese Geschäfte werden in weiterer Folge mit GFA185_Private_Wohnimmobilienfinanzierung_Kennzeichen = FALSCH gekennzeichnet. RUECKGABE NULL ENDE FUNKTIONSENDE |