Hierarchy

⤷

⤷

⤷

IMG Activity
ID | SIMG_CFMENUOFDIMSBTE | Special Calculation Rules |
Transaction Code | S_ALR_87006915 | IMG Activity: SIMG_CFMENUOFDIMSBTE |
Created on | 19981222 | |
Customizing Attributes | SIMG_CFMENUOFDIMSBTE | Edit Individual Representative Lists of Rents |
Customizing Activity | SIMG_CFMENUOFDIMSBTE | Edit individual representative lists of rents |
Document
Document Class | SIMG | Hypertext: Object Class - Class to which a document belongs. |
Document Name | SIMG_CFMENUOFDIMSBTE |
In this section you can define the individual calculation rules for one or more representative list of rents:
- Use mathematical formulas (conditions) and variables
- Do not use the ABAP program code
Detailed documentation (with examples)
Individual control of the rent adjustment according to the representative list of rents (RLR) control table
-----------------------------------------------------------------------
Overview
- Motivation
- Basic principle
- Variable categories
- Log
- Comment
- Overview of system variables
- Definition of sample variables
- Macros
- Features
- Rent calculation
- Basic rent
- Relative surcharges/reductions
- Surcharges and deductions for fixtures and fittings characteristics
- Resulting rent
- Tips & Tricks
- Example
- RLR with apartment value +/- signs
- Additional examples
------------------------------------------------------------------------
Motivation
The RLR (representative list of rents) is issued by cities and regions and is an overview of rents paid in that locality. It is used as a basis for setting new rent levels, rent adjustments, and for settling rent disputes and plays an important role in the rent adjustment and rent calculation components.
The basic principle of the RLR is as follows: a maximum of 4 central attributes (size, location, building age, and fixtures and fittings) is used as criteria for assigning an apartment to a "rent table field". The range of rents typical for this locality is determined from this information. The approximate rent reserve is rounded up or down according to any further criteria set.
Although the comparative rents that are typical for a locality are always mapped in matrix form, the regulations governing these matrices varies from region to region. In general, it is only possible to use a user-exit that receives the necessary entries from the system and in which the (textural) descriptions of the calculation formula have to be coded in ABAP/4. The great degree of flexibility offered by this solution demands a great deal of time and effort for the flow logic and the implementation of adjustment program data structures.
The method described here can be used for storing these regulations in Customizing and ensures that a great deal of flexibility is maintained without requiring programming skills.
Basic principle
The RLR calculation formula is mapped in the system by using conditions and actions. A condition describes when a certain criterion is met and the action tells you what to do when this is the case.
- A condition is a mathematical formula that links variables (supplied by the system) with arithmetic and logical operations. These conditions must be in the Boolean form (true or false).
If, for example, the building age class is in the variable BAKL and the size classes are in the variable GRKL, a possible condition could be: BAKL = 1 AND GRKL > 3 (criteria is met if the building age class of the apartment in question is equal to one and the size class is greater than three).
- An action is one pair of variables and a formula. The formula can contain any type of value (number, character string, Boolean value) that is assigned to the variables for calculation. This means that the action <GRKL, GRKL + 1> (GRKL = class size) increases the size class by one. The simplest case of a formula is assigning a constant to a variable. If the name of a rent table field is stored in the variable MATT, the action <MATT, size old building> sets the variable for the entered text.
One condition is grouped with any number of actions in a block. If the condition of the block is met, all the actions are carried out sequentially.
Each RLR can be assigned any number of blocks that are edited during a rent adjustment for every rental unit or rental agreement that has to be adjusted.
The order of blocks is specified by a freely determined block number, as is the order of the actions in the blocks (row numbers). Regardless of whether the condition has been assigned a row number or not, it is always checked.
Variable categories
The variables supplied by the system can be grouped into 3 categories:
- Control variables are variables that can be used to change the order of the sequential flow. Since control variables can be changed in an action, blocks can be omitted, loop programming can be used or another RLR can be used.
- The user can use help variants to save the interim results. The system does not use the value of the interim results to calculate the new rent. If you need more help variants than those offered by the system, you can reuse these values after reinitialization (= assignment of a defined start value).
- All the other variables are application variables and are used directly or indirectly for determining the new rent.
The values of an application variable part are dependent on the rental unit only(as for example the size of the apartment) and, in some cases, on the RLR (such as the size that is derived from the size classes). The other part of the application variables represents the attributes of the fixture and fittings characteristics; attribute values are always dependent on one fixture and fitting characteristic. Since one rental unit could have several such features, a block in which this condition and/or actions of such variables, has to be sequentially processed for all the fixtures and fittings characteristics. The system automatically sets the loop round the block and does not have to be programmed.
Example:
All the fixtures and fitting characteristics of an apartment that the RLR considers but are evaluated with less than $1/m² are to be ignored. The number of these features should (for later calculations) be counted. This could be realized in the following block:
BlockNo RowNo Variable Formula
0010 010 MIMS AND MRES < 1.00
0010 020 MIGN TRUE
0010 030 XN01 XN01 + 1
Explanation of variables (for a complete overview, see the chapter Overview of System Variants):
- MIMS: Feature is displayed in the RLR
- MRES: Value used for feature when the rent is calculated
- MIGN: Ignore feature for calculation
- XN01: Numerical help variant
Log
Every row in the control table can be assigned a message by entering the message class, number and category (information, warning, and error). If a row is evaluated, its message is updated on the trace level (= level 6) and updated in the rent adjustment log. These messages allow the mathematically coded conditions and actions contained in the formula to be written in natural language. The four message variables are defined and, if required, can be included in the message text:
- V1 = Identification of the row (RLR ID/block number/row number)
- V2 = Identification of variables (blank for a condition)
- V3 = Formula value (true and false are displayed as "X" or "o")
- V4 = Identification of the fixture and fitting characteristic
V4 is only defined if variables used in the blocks are the attributes from fixture and fittings characteristics.
If the flag .Default Comment is set in the master data of the RLR, the processing of every row is temporarily assigned to a standard message. This allows you to see the calculation method in the log without having to define individual messages.
Comment
It is possible to comment the control table while the messages for the calculation method are being assigned. Write a row for comments in the formula and set your comment flag. During processing, the system ignores rows where the comment flag is set.
Overview of system variables
The system supplies the following variables:
Key Name Type Description
SMSPID MSID C List of rents (RLR) identification
SLINNO BLNR N Number of the next block to be processed
BUKRSA BUKR C Company code
CLSAGE BAKL N Building age class
CLSFAF AUKL N Fixture and fittings category
CLSLOC LAKL N Location class
CLSIZE GRKL N Size class
ADJDAT DANP N Valid-from date of adjustment
MATVLO MATU P Lower value of rent table field
MATVMI MATM P Mean value of rent table field
MATVHI MATO P Upper value of rent table field
MATBAS MATB P Base value (from M1/2/3 + entries for RU and RLR)
MATTXT MATT C Indication for the rent
Business Attributes
ASAP Roadmap ID | 257 | Create User Exits |
Mandatory / Optional | 3 | Nonrequired activity |
Critical / Non-Critical | 1 | Critical |
Country-Dependency | A | Valid for all countries |
Assigned Application Components
Documentation Object Class | Documentation Object Name | Current line number | Application Component | Application Component Name |
---|---|---|---|---|
SIMG | SIMG_CFMENUOFDIMSBTE | 0 | I090004620 | Rent Adjustment |
Maintenance Objects
Maintenance object type | C | Customizing Object |
Assigned objects | ||||||
---|---|---|---|---|---|---|
Customizing Object | Object Type | Transaction Code | Sub-object | Do not Summarize | Skip Subset Dialog Box | Description for multiple selections |
TIVO1 | S - Table (with text table) | SM30 | 0000000000 | Variables for control table | ||
VOTIVO2 | V - View | SM30 | VOTIVO2 | Control table |
History
Last changed by/on | SAP | 19990526 |
SAP Release Created in |