Show TOC

Besondere Berechnungsvorschriften

In diesem Abschnitt können Sie individuelle Berechnungsvorschriften zu einem oder mehreren Mietspiegeln definieren,

Ausführliche Dokumentation (mit Beispielen)

Dokumentation zur individuellen Steuerung der Mietanpassung nach der Mietspiegel-Steuerungstabelle

-----------------------------------------------------------------------

Gliederung - Überblick

1. Motivation
2. Grundprinzip
3. Variablenkategorien
4. Protokollierung
5. Kommentierung
6. Übersicht Systemvariablen
7. Definition eigener Variablen
8. Makros
9. Besonderheiten
10. Mietberechnung
a) Basismiete
b) Relative Zu-/Abschläge
c) Zu-/Abschläge von Ausstattungsmerkmalen
d) Resultierende Miete
11. Tips & Tricks
12. Beispiele
a) Mietspiegel mit Wohnwertvorzeichen
b) Weitere Beispiele

------------------------------------------------------------------------

Motivation

Der Mietspiegel, also die von einer Stadt oder Gemeinde herausgegebene Übersicht der in einer Region gezahlten Mieten, gilt als die wesentliche Richtschnur bei Neuvermietungen, Mietanpassungen und Mietstreitigkeiten, so daß ihm innerhalb der Mietanpassungs-/berechnungskomponente eine zentrale Bedeutung zukommt.

Das Grundprinzip der Mietspiegel ist stets gleich: Zunächst wird die Wohnung anhand von maximal vier zentralen Attributen (Größe, Lage, Baualter, Ausstattung) in eine Kategorie (das sogenannte Mietspiegelfach) eingeordnet, zu der die ortsübliche Mietspanne statistisch ermittelt wurde. Diese grobe Mietzinsvorgabe wird nachfolgend anhand diverser weiterer Kriterien nach unten oder oben korrigiert.

Während die ortsüblichen Vergleichsmieten stets in Form einer Matrix abgebildet werden können, sind die Vorschriften, wie diese Verfeinerung auszuführen ist, von Mietspiegel zu Mietspiegel sehr unterschiedlich. Im allgemeinen käme nun ein User-Exit zum Einsatz, der die nötigen Eingaben vom System bekommt und in dem die im Mietspiegel textuell beschriebenen Berechnungsvorschriften in ABAP/4 codiert werden müßten. Der großen Flexibilität dieser Lösung steht jedoch der hohe Aufwand entgegen, sich in die Ablauflogik und die Datenstrukturen des Anpassungsprogramms einarbeiten zu müssen.

Daher wurde ein anderer Weg verfolgt, um diese Vorschriften ohne Programmkenntnisse im Customizing hinterlegen zu können und dennoch die Flexibilität nicht wesentlich zu beschränken.

Grundprinzip

Die Berechnungsvorschriften des Mietspiegels werden im System in Form von Bedingungen und Aktionen abgebildet. Eine Bedingung beschreibt, wann ein bestimmter Sachverhalt erfüllt ist, und eine Aktion, was in diesem Fall zu tun ist.

Sei bspw. die Baualtersklasse in der Variablen BAKL und die Größenklassein der Variablen GRKL hinterlegt, so könnte eine Bedingung BAKL = 1 AND GRKL > 3 lauten (erfüllt, falls die Baualtersklasse der betrachteten Wohnung gleich eins und die Größenklasse größer drei ist).

Eine Bedingung wird mit beliebig vielen Aktionen zu einem Block zusammengefaßt. Ist die Bedingung des Blocks erfüllt, werden alle seine Aktionen nacheinander ausgeführt.

Jedem Mietspiegel kann eine beliebige Anzahl von Blöcken zugeordnet werden, die bei einer Mietanpassung für jede anzupassende Mieteinheit bzw. jeden anzupassenden Mietvertrag nacheinander abgearbeitet werden.

Die Reihenfolge der Blöcke wird durch eine frei vergebbare Blocknummer, die Reihenfolge der Aktionen innerhalb eines Blockes durch eine ebenfalls frei vergebbare blockinterne Zeilennummer festgelegt. Unabhängig davon, welche (und ob überhaupt) der Bedingung eine Zeilennummer zugeordnet wurde, wird sie immer zuerst geprüft.

Variablenkategorien

Die vom System bereitgestellten Variablen können in drei Kategorien eingeteilt werden:

Die Werte eines Teils der Anwendungsvariablen sind nur abhängig von der Mieteinheit (wie z.B. die Wohnungsgröße) und evtl. noch vom verwendeten Mietspiegel (wie etwa die aus der Wohnungsgröße abgeleitete Größenklasse). Der andere Teil der Anwendungsvariablen repräsentiert die Attribute der Ausstattungsmerkmale, d.h. ihre Werte sind immer von einem Ausstattungsmerkmal abhängig. Da eine Mieteinheit aber i.a. mehrere solcher Merkmale besitzt, muß ein Block, in dessen Bedingung und/oder Aktionen solche Variablen verwendet werden, für alle Ausstattungsmerkmale nacheinander abgearbeitet werden. Diese Schleife wird vom System automatisch um den Block gelegt und muß nicht programmiert werden.

Beispiel:

Alle Ausstattungsmerkmale einer Wohnung, die zwar im Mietspiegel berücksichtigt sind, aber mit weniger als 0,10 DM/m² bewertet wurden, sollen ignoriert werden. Die Anzahl dieser Merkmale soll (für spätere Berechnungen) gezählt werden. Dies wäre durch folgenden Block realisierbar:
BlockNr ZeilenNr Variable Formel
0010 010 MIMS AND MRES < 0.10
0010 020 MIGN TRUE
0010 030 XN01 XN01 + 1
Bedeutung der Variablen (vollständige Übersicht siehe Kapitel Übersicht Systemvariablen):

Protokollierung

Jeder Zeile der Steuerungstabelle kann durch Angabe einer Nachrichtenklasse, -nummer und -typ (Info, Warnung, Fehler etc.) eine Nachricht zugeordnet werden. Wird eine Zeile ausgewertet, wird ihre Nachricht auf der Trace-Ebene (= Stufe 6) in das Mietanpassungsprotokoll geschrieben. Diese Nachrichten erlauben, die in den Formeln mathematisch codierten Bedingungen und Aktionen natürlichsprachig zu beschreiben. Die vier Nachrichtenvariablen sind folgenderweise belegt und können in den Nachrichtentext (falls gewünscht) eingearbeitet werden:

V4 ist nur dann belegt, wenn im Block Variablen verwendet werden, die Attribute von Ausstattungsmerkmalen sind.

Wird in den Stammdaten des Mietspiegels das Flag .Defaultkommentierung gesetzt, wird bei der Abarbeitung jeder Zeile temporär eine Standardnachricht zugeordnet. Dies erlaubt, den Rechenweg im Protokoll nachvollziehen zu können, ohne erst individuelle Nachrichten hinterlegen zu müssen.

Kommentierung

Während durch Zuordnung von Nachrichten der Rechenweg im Protokoll aufgezeichnet wird, kann auch die Steuerungstabelle selbst kommentiert werden. Hierzu ist in die Formel einer Zeile der Kommentar zu schreiben und ihr Kommentarflag zu setzen. Zeilen mit gesetztem Kommentarflag werden vom System bei der Abarbeitung als nicht vorhanden angesehen.

Übersicht Systemvariablen

Das System stellt die folgenden Variablen bereit:

Key Name Typ Beschreibung
SMSPID MSID C Mietspiegel(MSP)-Identifikation
SLINNO BLNR N Nummer des nächsten abzuarbeitenden Blocks
BUKRSA BUKR C Buchungskreis
CLSAGE BAKL N Baualtersklasse
CLSFAF AUKL N Ausstattungsklasse
CLSLOC LAKL N Lageklasse
CLSIZE GRKL N Größenklasse
ADJDAT DANP N Gültig-Ab-Datum der Anpassung
MATVLO MATU P Unterwert des Mietspiegelfachs
MATVMI MATM P Mittelwert des Mietspiegelfachs
MATVHI MATO P Oberwert des Mietspiegelfachs
MATBAS MATB P Basiswert (aus M1/2/3 + Angaben auf ME und MSP)
MATTXT MATT C Bezeichnung des Mietspiegelfachs
AGEREV BJHR N Baujahr
SIZERV WOFL P Wohnfläche
RELBAS RZBS C Festlegung der Basis für relativen Zuschlag
SKOART KART Angepaßte Konditionsart
ADDABS ZABS P Zuschlagsbetrag absolut
ADDREL ZREL P Zuschlagsbetrag relativ
OPCVAL BTRK P Aktuell gezahlte BK/FE (aus ME- / MV-Konditionen)
FAFKEY MMKL N Ausstattungsmerkmals-ID
FAFCLS MMKL N Klasse des Ausstattungsmerkmals
FAFDAT MDAT N Gültig-Ab-Datum eines Ausstattungsmerkmals
FAFVMS MBMS P Merkmalsbetrag aus Mietspiegel
FAFVME MBME P Merkmalsbetrag aus Mieteinheit
FAFNCL MKPK N Anzahl von Merkmalen in der Klasse
FAFUSE MIMS B Merkmal ist im Mietspiegel aufgeführt
FAFREL MREL P Merkmalswert proz. aus MSP (Bezug MATB)
FAFABS MRES P Merkmalsbetrag absolut/FE (Wert für neue Miete)
FAFWCL MKLW P Merkmalsklassengewicht (Berliner Mietspiegel)
FAFSGN WWVZ P Wohnwertvorzeichen .+1/0/-1 (Berliner MSP)
FAFIGN MIGN B Merkmal bei Mietberechnung ignorieren
NCOUSR NMIE P Neue Miete/FE (änderbar, wenn initial -> NCOSYS)
NCOSYS NMSY P Neue Miete/FE (abgeleitet restlichen Parametern)
XBOOLx XB0x B Hilfsvariablen x = 1..5
XNUMCx XN0x N Hilfsvariablen (Ganze Zahlen), x = 1..5
XREALx XR0x P Hilfsvariablen (Dezimalzahlen), x = 1..9
XCHARx XC0x C Hilfsvariablen, x = 1..5
Typangaben:

Definition eigener Variablen

Das System berechnet die neue Miete aus einem Teil der Anwendungsvariablen (s. Kapitel 9), die vorher durch die Aktionen beliebig verändert werden können. Nun kann es allerdings sein, daß der Rechenweg abhängig von Daten ist, die in den Variablen defaultmäßig nicht zur Verfügung gestellt werden

So könnte ein Mietspiegel fordern, die Merkmalsbeträge geringer zu gewichten, falls die Wohnung höher als im 5. Stock liegt. Das Stockwerk steht aber defaultmäßig nicht zur Verfügung.

In diesem Fall können kundendefinierte Variablen angelegt werden, die genauso wie die vom System bereitgestellten benutzt werden können. Hierzu ist folgenderweise vorzugehen:

1. Variable in Steuertabelle eintragen: Wählen Sie die Aktion Variablen zur Steuertabelle
Der technische (sprachunabhängige) Name der Variable sowie ihr Typ (Bool, Num, Char, etc.) ist im Kundennamensraum einzutragen (Anfangsbuchstabe Y oder Z).
2. In der Tabelle ist das (sprachabhängige) Kürzel sowie die Bezeichnung der Variablen (Kurz- und Langtext) zu pflegen. Da das Kürzel als Schlüssel fungiert, muß es ebenfalls aus dem Kundennamensraum stammen.
3. Wenn das System bei der Abarbeitung der Steuerungstabelle eine Formel auswertet, ruft es für im Kundennamensraum liegende Variablen einen im Customizing hinterlegten Funktionsbaustein (User-Exit) auf. Diesem Baustein wird der (technische) Name der Variablen, die Stammdaten der relevanten Objekte (Mieteinheit, Wirtschaftseinheit, Gebäude), die aktuelle Systemvariablenbelegung sowie die Daten aller Ausstattungsmerkmale übergeben. Er kann nun ggf. beliebig weitere Tabellen lesen und muß dann einen Wert zurückliefern, der als Wert der Kundenvariablen interpretiert wird. Bei diesem User-Exit handelt es sich um einen BTE (siehe auch: Business Transaction Event verwenden ) mit der Ereignisnummer 00702501. Ein Beispiel-Funktionsbaustein wird unter dem Namen SAMPLE_PROCESS_00702501 als Kopiervorlage ausgeliefert.

Da eine Kundenvariable also einen Funktionsaufruf darstellt, ist es nicht möglich, ihr einen Wert zuzuweisen (ihr Wert wird immer per User-Exit-Aufruf ermittelt).

Makros

Werden in einer Formel häufig bestimmte Teilausdrücke verwendet, können hierfür parametrisierbare Funktionen (Makros) definiert werden. Sie werden entweder in der Tabelle TFKT oder in einer benutzerangelegten, gleich aufgebauten Tabelle abgelegt.

Beispiel1:

In vielen Bedingungen und/oder Aktionen wird eine Funktion benötigt, die prüft, ob eine Variable X in einem bestimmten Intervall U bis O liegt. Anstatt nun immer
X >= U AND X <= O
zu schreiben, kann ein Makro "ZWISCHEN" mit drei Parametern definiert werden:
ZWISCHEN = #1 >= #2 AND #1 <= #3

In einer Formel stände dann nur noch

TFKT:ZWISCHEN(X,U,O)

Beispiel 2:

Durch Verwendung des IF-THEN-ELSE-Konstrukts (siehe Kapitel 7) können auch komplexere Makros definiert werden. So liefert folgendes Makro die größere der zwei übergebenen Zahlen zurück:
MAX = IF #1 > #2 THEN #1 ELSE #2
Makrodefinitionen können auch rekursiv sein.

Besonderheiten

Bei der Erstellung der Steuerungstabelle sind folgende Punkte zu beachten:

Die Änderung des Mietspiegels führt automatisch zur Neuberechnung aller davon abhängigen Werte (also insbesondere zur neuen Klassifizierung). Die Abarbeitung startet mit dem ersten Block des Mietspiegels.
Auch wenn nur die Wohnungsfläche oder das Wohnungsbaualter geändert wird, wird die Größen- bzw. die Baualtersklasse sowie das Mietspiegelfach neu bestimmt.
Die Neuermittlung der abhängigen Variablen findet bei Beendigung des aktuellen Blockes statt, d.h. die neuen Werte sind im nächsten Block verfügbar.
Da die Formel als Zeichenkette abgelegt wird, können Literale (wie "TEXT", 1.50, 002) nicht typgerecht gespeichert werden. Daher sind
Die Variablen werden nicht über ihre technischen Namen, sondern über ein frei vergebbares Kürzel angesprochen, das sprachabhängig im Customizing hinterlegt wird. Während die Variablenbezeichnungen also sprachabhängig sind, sind die Formeln selbst natürlich nicht sprachabhängig. Da eine automatische Umsetzung der in den Formeln verwendeten Variablenbezeichnungen je nach Anmeldesprache des Benutzers nicht möglich ist, können die Formeln einer Mietspiegel-Steuerungstabelle nur bei Kenntnis ihrer Pflegesprache interpretiert werden. Damit nun auch ein auf Englisch angemeldeter Benutzer eine mit deutschen Variablennamen erzeugte Steuerungstabelle bei Durchführung einer Mietanpassung nutzen kann, muß die Pflegesprache auf dem Mietspiegel hinterlegt werden.
In den Formeln von Bedingungen und Aktionen kann auch das Sprachkonstrukt IF-THEN-ELSE verwendet werden. Dabei handelt es sich jedoch um das funktionale, nicht um das aus ABAP/4 bekannte imperative IF. Dies bedeutet, daß der Gesamtausdruck gleich dem Ausdruck hinter THEN ist, falls die Bedingung hinter IF erfüllt ist, und gleich dem Wert hinter ELSE im anderen Fall. Damit der Wert eines IF-THEN-ELSE-Konstrukts also stets definiert ist, muß immer auch der ELSE-Zweig angegeben werden. Geschachtelte IF-THEN-ELSE-Ausdrücke werden z. Zt. nicht unterstützt.
Beispiel:
Die Aktion
<XN01, IF GRKL > 2 THEN LAKL +1 ELSE LAKL>
führt dazu, daß die numerische Hilfsvariable XN01 auf die um eins erhöhte Lageklasse (Variable LAKL) gesetzt wird, falls die Größenklasse (Variable GRKL) größer als zwei ist, sonst wird die Lageklasse unverändert übernommen.

Mietberechnung

1. Basismiete
Nachdem die Wohnung gemäß ihren Attributen in ein Mietspiegelfach eingeordnet wurde, liegen die Werte für MATU, MATM und MATO vor. Auf dem Mietspiegel wird hinterlegt, welcher dieser drei Werte des Mietspiegelfachs (Unter-/Mittel-/Oberwert) als Basismiete der Mietberechnung verwendet werden soll. Diese Vorgabe kann auf der Mieteinheit individuell geändert werden. Zusätzlich kann dort eine prozentuale Abweichung vom gewählten Basiswert hinterlegt werden.
2. Relative Zu-/Abschläge
Der Wert, auf den sich der relative Zu-/Abschlag (ZREL) bezieht, wird durch die Variable RZBS gesteuert. Sie enthält eine dreistellige Zeichenkette bestehend aus "X" und "o", die angibt, welche Beträge in die Bezugssumme einfließen sollen:
Wird für ein Merkmal ein relatives Gewicht angegeben, bezieht sich dieses immer auf die Basismiete.
3. Zu-/Abschläge von Ausstattungsmerkmalen
Für jedes Merkmal kann entweder ein absoluter Zu-/Abschlagsbetrag pro Flächeneinheit oder alternativ ein prozentualer Gewichtungsfaktor hinterlegt werden. Diese Daten werden allerdings nicht direkt auf dem Merkmal erfaßt, sondern es wird einer Merkmalsklasse zugeordnet, für welche dann diese Daten gepflegt werden. Zusätzlich kann eine maximale Anzahl sowie ein maximaler Betrag bezüglich zu berücksichtigender Merkmale aus einer Klasse angegeben werden.
Die Variable MBMS enthält den Betrag für das Merkmal gemäß Mietspiegel, MBME den Betrag, der auf der Mieteinheit für dieses Merkmal erfaßt wurde. MRES ist gleich MBMS, falls dieser Wert ungleich Null ist, sonst MBME. MIMS ist Wahr, falls das Merkmal (mit welchem Betrag auch immer) im Mietspiegel erfaßt wurde, sonst Falsch.
4. Resultierende Miete
Die neue Miete ergibt sich als Summe von
Diese Summe wird mit einem prozentualen Faktor gewichtet, der auf der Mieteinheit speziell für Mietspiegelanpassungen hinterlegt wird. Nach Abarbeitung eines Blocks wird diese Summe berechnet (falls Änderungen bei den Eingabeparametern aufgetreten sind) und in die Variable NMSY (neue Miete System) gestellt. Soll ein anderer Betrag als dieser zum Tragen kommen, darf allerdings nicht diese Variable verändert werden, da sie eine aus anderen Variablen abgeleitete Größe darstellt und eine Änderung am Blockende vom System wieder überschrieben würde. Stattdessen muß die Variable NMIE belegt werden, die defaultmäßig initial ist. Sie wird vom System anstatt NMSY verwendet, falls ihr ein Wert ungleich Null zugewiesen wurde.
Den neuen Gesamtmietbetrag ermittelt das System dann, indem der Wert aus NMSY bzw. NMIE mit der Wohnfläche multipliziert, mit dem allgemeinen Weitergabefaktor für alle Mietanpassungen gewichtet (falls dies auf dem Einsteigsbild nicht abgeschaltet wurde), gemäß den gesetzlichen Vorschriften ggf. gekappt und den Customizingeinstellungen ggf. gerundet wurde.
Beispiel: Ein Mietspiegel legt fest, daß die Miete für eine Wohnung unabhängig von ihrer Ausstattung keinesfalls den im Mietspiegel hinterlegten Oberwert überschreiten darf.
Dies würde durch folgenden Block sichergestellt, der als letzter in der Steuerungstabelle stehen müßte:
BlockNr ZeilenNr Variable Formel
0010 010 NMSY > MATO
0010 020 NMIE MATO

Tips & Tricks

Bei der Erstellung einer Steuerungstabelle sind folgende Punkte hilfreich:

Sollen im Protokoll die Werte bestimmter Variablen ausgegeben werden (etwa zum Zweck der besseren Nachvollziehbarkeit des Rechenwegs), kann einfach eine Dummy-Aktion der Form <VAR, VAR> definiert und eine entsprechene Nachricht (wie .Wert von &2 ist &3) zugeordnet werden.
Durch Verwendung von (parametrisierten) Makros können nicht nur häufig verwendete Ausdrücke einfacher geschrieben, sondern mittels (unparametrisierten) Makros auch Alias-Namen für Konstanten definiert werden, was die intuitive Verständlichkeit verbessern kann.
Beispiel 1: Meist gibt es eine Reihe von Aktionen, die generell zu Beginn der Abarbeitung der Steuerungstabelle ausgeführt werden sollen. Als Bedingung dieses ersten Blocks wäre folglich das Schlüsselwort TRUE anzugeben. Dies wäre intuitiver zu erkennen, wenn man ein Makro anlegt, das in diesem Kontext als sprechender Alternativ-Name für TRUE fungiert (etwa INITIALISIERUNG).
Beispiel 2: Die Abarbeitung endet, wenn die Blocknummer (BLNR) auf einen nicht vorhandenen Wert gesetzt wird. Durch Definition eines Makros ENDE als Alias-Name für etwa 9999 wäre dies einfacher als <BLNR, ENDE> zu schreiben.
Bei Angabe von Bedingungen ist nur darauf zu achten, daß die Formel vom Typ Boolean ist. Es ist aber nicht notwendig, stets einen Vergleichsoperator zu verwenden. Dies bedeutet insbesondere, daß in Ausdrücken der Form .Variable = TRUE die Abfrage auf TRUE überflüssig ist und ersatzlos weggelassen werden kann. Analog können Formeln der Form .Variable = FALSE eleganter als .NOT Variable geschrieben werden.

Beispiele

1. Bedingungen aus dem Mietspiegel und eine exemplarische Abbildung in der Steuertabelle
a) Es gibt 4 Merkmale in einer Klasse 1; das Vorhandensein von mindestens 2 Merkmalen führt zu einem Zuschlag von 10%
Abbildung in der Steuertabelle:
1. Eigenschaft der Klasse 1: Zu-/Abschläge mit den Werten: Proz/Merk. = 10; MaxAn = 1
2. Programmcode in der Steuertabelle:
BlockNr ZeilenNr Variable Formel
0010 0010 MMKL = 1 AND MAPK < 2
0010 0020 MIGN TRUE
Ist die Zahl der Merkmale < 2, dann wird das Merkmal ignoriert. Der Eintrag MaxAn = 1 bewirkt, daß unabhängig von der Zahl der Merkmale (2, 3 oder 4 Merkmale) genau nur ein Zuschlag von 10% berechnet wird.
b) Es gibt 4 Merkmale in einer Klasse 2; ist mindestens 1 Merkmal der Klasse 2 und zusätzlich ein weiteres Merkmal (Nummer 813) vorhanden, führt dies zu einem Zuschlag von 16%
Abbildung in der Steuertabelle:
1. Eigenschaft der Klasse 2: Zu-/Abschläge mit den Werten: Proz/Merk. = 16; MaxAn = 1
2. Programmcode in der Steuertabelle:
BlockNr ZeilenNr Variable Formel
0020 0010 MKML = 813
0020 0020 XN01 XN01 + 1
0030 0010 XN01 = 0 AND MMKL = 2
0030 0020 MIGN TRUE
Ist das Merkmal 813 nicht vorhanden, dann werden alle Merkmale der Klasse 2 ignoriert. Der Eintrag MaxAn = 1 bewirkt, daß unabhängig von der Zahl der Merkmale der Klasse 2 genau ein Zuschlag von 16% erfolgt.
c) Es liegen 2 Abschlagmerkmale vor (Merkmal 811 -> Abschlag -17%, Merkmal 812 -> Abschlag -18%). Treten beide Merkmale gleichzeitig auf, dann beträgt der Abschlag nicht -35% sondern -27%.
Abbildung in der Steuertabelle:
Jedes Merkmal bildet eine eigene Klasse mit dem entsprechenden Abschlag.
BlockNr ZeilenNr Variable Formel
0040 0010 MKML = 811 OR MKML = 812
0040 0020 XN01 XN01 +1
0050 0010 XN01 = 2 AND MKML = 811
0050 0020 MIGN TRUE
0060 0010 XN01 = 2 AND MKML = 812
0060 0020 MREL -27
Zunächst wird überprüft, ob beide Merkmale vorhanden sind, dann wird der Wert der Merkmals 811 ignoriert und der Wert des Merkmals 812 auf -27% (anstelle von -18%) gesetzt.
d) Zu der Klasse 6 gehören genau 6 Merkmale (Nummer 814, 815, 820, 823, 824, 825). Nur wenn das Merkmal 823 und das Merkmal 824 oder 825 vorhanden ist und genau 1 Merkmal 820 oder 814 oder 815 vorliegt, dann beträgt der Zuschlag 8%. Sind aber bei den gleichen Vorbedingungen 2 oder 3 Merkmale 820, 814 oder 815 vorhanden, dann beträgt der Zuschlag 17%.
Abbildung in der Steuertabelle:
1. Eigenschaft der Klasse 6: Zu-/Abschläge mit den Werten: Proz/Merk. = 8; MaxAn = 1
2. Programmcode in der Steuertabelle:
BlockNr ZeilenNr Variable Formel
0070 0010 TRUE
0070 0020 XN01 0
0070 0030 XN02 0
0070 0040 XN03 0
0080 0010 MKML = 823
0080 0020 XN01 XN01 + 1
0090 0010 MMKL = 6 AND XN01 = 0
0090 0020 MIGN TRUE
0100 0010 MKML = 824 OR MKML = 825
0100 0020 XN02 XN02 + 1
0110 0010 MMKL = 6 AND XN02 = 0
0110 0020 MIGN TRUE
0120 0010 MKML = 820 OR MKML = 814 OR MKML = 815
0120 0020 XN03 XN03 + 1
0130 0010 MMKL = 6 AND XN03 = 0
0130 0020 MIGN TRUE
0140 0010 MMKL = 6 AND XN03 > 1
0140 0020 MREL 17
In Block 0070 werden die Hilfsvariablen auf den Wert 0 zurückgesetzt. Die weiteren Blöcke führen nur die notwendigen UND/ODER-Verknüpfungen durch. Durch die Zuweisung MaxAn = 1 muß nicht der Fall für XN03 = 1 geprüft werden.
2. Mietspiegel mit Wohnwertvorzeichen
Es sei folgender Mietspiegel gegeben: Neben den regulären Ausstattungsmerkmalen (mit Betragsangabe/qm) sind auch solche vorhanden, bei denen es nur darauf ankommt, ob sie positiv (wohnwerterhöhend) oder negativ (wohnwertmindernd) sind.
Diese Merkmale sind in die vier Gruppen (= Merkmalsklassen) eingeteilt und werden nach diesen Gruppen getrennt zusammengezählt:
Überwiegen in einer Gruppe die positiven Merkmale, wird ihr ein Gewicht von +25%, überwiegen die negativen, ein Gewicht von -25% und im Falle der Gleichheit 0% zugeteilt. Diese Prozentwerte werden addiert, was einen Gesamtwert aus dem Bereich von -100% bis +100% liefert.
Dieser Gesamtwert bestimmt die Einordnung der Wohnung in die Mietspiegelspanne und damit die Basismiete gemäß dem Schema <100% Fachunterwert, 0% Fachmittelwert, +100% Fachoberwert>.
Zu dieser Basismiete werden dann dem üblichen Rechenweg folgend die Zu-/Abschlagsbeträge der regulären Ausstattungsmerkmale addiert, um die ortsübliche Vergleichsmiete zu erhalten.
Die Steuerungstabelle zu diesem Beispiel ist in Mietspiegel Nr. 001000 realisiert, wobei davon ausgegangen wird, das im Customizing die vier Gruppen als Merkmalsklassen 1 bis 4 angelegt wurden