Bezeichnung des Algorithmus | XEN_Private_Wohnimmobilienfinanzierung |
Kurzbezeichnung | Algorithmus zur Ermittlung relevanter Geschäftsfälle für die Immobilienfinanzierungserhebung |
Verbale Beschreibung/Beispiele | Folgende Kriterien müssen erfüllt sein, damit ein Geschäftsfall für die Immobilienfinanzierungserhebung relevant ist:
|
Kommt vor in/wird verwendet für | |
Formale Beschreibung | FUNKTION XEN_Private_Wohnimmobilienfinanzierung (AI_Geschaeftsfall_ID gfId, AI_Mandant MA, AI_Stichtag_Datum repDate) rValue = WAHR // Es handelt sich um einen Kredit geschaeftsfallkategorie = SELEKTIERE GF.GF00_Geschaeftsfallkategorie_Code VON GF_Geschaeftsfall WENN(NICHT(geschaeftsfallkategorie ENTHAELT ("Wechselkredit (B)", "Barvorlage (E)", "Operating Leasing (F)", "Finance Leasing (G)", "Kreditkartenkredit (C)", "Revolvierender Kredit (exkl. Überziehungskredit) (V)", "Überziehungskredit (W)", "Einmalkredit (exkl. Kreditlinie) (X)", "Kreditlinie (Y)"))) DANN rValue = FALSCH ENDE // Mandant ist Gläubiger glaeubiger = SELEKTIERE KR.AI_Einheitennummer_ID VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Gläubiger (GL)" VON GF_Geschaeftsfall mandant_einheitennummer = SELEKTIERE MA.MA09_Einheitennummer_ID VON MA_Mandant WENN(glaeubiger UNGLEICH mandant_einheitennummer) DANN rValue = FALSCH ENDE // Es handelt sich nicht um ein Underlying underlyingKennzeichen = SELEKTIERE GF.GF112_Zerlegung_Underlying_Kennzeichen VON GF_Geschaeftsfall WENN(underlyingKennzeichen ISTGLEICH WAHR) DANN rValue = FALSCH ENDE // Der Verwendungszweck ist Schaffung und Erhaltung von Wohnraum verwendungszweck = SELEKTIERE GF.GF16_Kredit_Verwendungszweck_Code VON GF_Geschaeftsfall WENN(NICHT(verwendungszweck ENTHAELT ("Kredit zur Schaffung und Erhaltung von Wohnraum (W)", "Bauinvestitionen - Wohnimmobilien (Y)")) DANN rValue = FALSCH ENDE // Der/die Kreditnehmer ist ein/sind natürliche Personen und Verbraucher. Im Fall von Schuldnergruppen sind maximal 4 Kreditnehmer vorhanden inhaber_id = SELEKTIERE KR.AI_Einheitennummer_ID VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Inhaber (IH)" VON GF_Geschaeftsfall coinhaber_ids = SELEKTIERE ALLE KR.AI_Einheitennummer_ID VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Co-Inhaber (CI)" VON GF_Geschaeftsfall inhaber_verbraucher = SELEKTIERE EM.EM70_Verbraucher_Kennzeichen VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH inhaber_id inhaber_keine_nat_pers = SELEKTIERE EM.EMA68_Rechtstraeger_Kennzeichen VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH inhaber_id WENN(inhaber keine_nat_pers ISTGLEICH WAHR) DANN rValue = FALSCH ENDE WENN(inhaber_verbraucher ISTGLEICH FALSCH) DANN rValue = FALSCH ENDE anzahl_kreditnehmer = 1 ITERIERE coinhaber_id VON (0, Max(coinhaber_ids)) coinhaber_verbraucher = SELEKTIERE EM.EM70_Verbraucher_Kennzeichen VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH coinhaber_id coinhaber_keine_nat_pers = SELEKTIERE EM.EMA68_Rechtstraeger_Kennzeichen VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH coinhaber_id WENN(coinhaber_keine_nat_pers ISTGLEICH WAHR) DANN rValue = FALSCH ENDE WENN(coinhaber_verbraucher ISTGLEICH FALSCH) DANN rValue = FALSCH ENDE anzahl_kreditnehmer = anzahl_kreditnehmer + 1 ITERATION ENDE //Miteigentümergemeinschaften mit 5 oder mehr Mitgliedern sind von der Meldung ausgenommen. meg_solidarkreditnehmergruppe = SELEKTIERE EM.EM73_Miteigentümergemeinschaft_Kennzeichen VON EM_Einheit_MS VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Solidarkreditnehmergruppe (SK)" VON GF_Geschaeftsfall WENN(anzahl_kreditnehmer >= 5 UND meg_solidarkreditnehmergruppe ISTGLEICH WAHR) DANN rValue = FALSCH ENDE //Geschäftsfälle, bei denen weder einer der Kreditnehmer seinen Sitz in "AT" hat noch eine Immobiliensicherheit mit Sitzland "AT" vorhanden ist, werden ausgeschlossen geografische_zuordnung = SELEKTIERE GF.GFA186_Geografische_Gliederung_Immobilienfinanzierung_Code VON GF_Geschaeftsfall WENN(geografische_zuordnung ISTGLEICH NULL) DANN rValue = FALSCH ENDE //Wohnbauförderungsdarlehen (Kreditankäufe aus dem Staatssektor) werden ausgeschlossen. kredituebertragung_art = SELEKTIERE GF.GKA20_Kredituebertragung_Art_Code VON GF_Geschaeftsfall forderungsverkaeufer = SELEKTIERE KR.AI_Einheitennummer_ID VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Forderungsverkäufer (FV)" VON GF_Geschaeftsfall land_fv = SELEKTIERE EM.EMA48_Land_fuer_Meldezwecke_Code VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH forderungsverkaeufer sektor_fv = SELEKTIERE EM.EMA49_Sektor_fuer_Meldezwecke_Code VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH forderungsverkaeufer WENN(kredituebertragung_art ISTGLEICH "Sonstige (SON)" UND land_fv ISTGLEICH "AT" UND sektor_fv ENTHAELT ("Zentralstaat (1311)", "Länder (inkl. Landeskammern, Landesfonds) (1312)", "Gemeinden (inkl. Gemeindefonds und -verbände) (1313)", "Staat nicht zuordenbar (1300Z)")) DANN rValue = FALSCH ENDE RUECKGABE rValue FUNKTIONSENDE |