SAP ABAP IMG Activity SIMG_CFMENUOFDIMSBTE (Special Calculation Rules)
Hierarchy
BBPCRM (Software Component) BBPCRM
   CRM (Application Component) Customer Relationship Management
     CRM_APPLICATION (Package) All CRM Components Without Special Structure Packages
       FVVI (Package) R/3 appl.dev. for Financial Assets Management: Real estate
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

  1. Motivation
  2. Basic principle
  3. Variable categories
  4. Log
  5. Comment
  6. Overview of system variables
  7. Definition of sample variables
  8. Macros
  9. Features
  10. Rent calculation
    1. Basic rent
    2. Relative surcharges/reductions
    3. Surcharges and deductions for fixtures and fittings characteristics
    4. Resulting rent
  11. Tips & Tricks
  12. Example
    1. RLR with apartment value +/- signs
    2. 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