SAP ABAP IMG Activity BADI_RESC_SETTLSTEP (Implement Enhancements for SCS Adjustment (BAdI))
Hierarchy
EA-FIN (Software Component) EA-FIN
   RE-FX-SC (Application Component) Service Charge Settlement
     RE_SC_AJ (Package) SCS: Adjustment
IMG Activity
ID BADI_RESC_SETTLSTEP Implement Enhancements for SCS Adjustment (BAdI)  
Transaction Code S_EE6_85000172   (empty) 
Created on 20110512    
Customizing Attributes BADI_RESC_SETTLSTEP   Implement Enhancements for SCS Adjustment (BAdI) 
Customizing Activity BADI_RESC_SETTLSTEP   Implement Enhancements for SCS Adjustment (BAdI) 
Document
Document Class SIMG   Hypertext: Object Class - Class to which a document belongs.
Document Name BADI_RESC_SETTLSTEP_AJ    

Use

You can use this BadI to influence the adjustment process that takes place during

  • Service charge settlement
  • Assessment adjustment (annual budget settlement)
  • Tenant settlement

.

The following methods are available in the interface:

  • CHECK_CONDTYPE Checks if the condition type is allowed for adjustments
  • You can use the method to extend the adjustment by service charge settlement for rental objects to also include conditions, which were not used in the service charge settlement, but are to be adjusted in the same way as the condition types used in the settlement. Using an appropriate enhancement implementation, you can decide on an individual basis which condition type is equivalent to one contained in the settlement, and should therefore be adjusted in the same way.

Example:
A contract was settled using the condition type "Operating costs advance payment" id_condtype_scsresult. However, the affected rental object contains the condition type "Operating costs flat rate". In this case, the condition type "Operating costs flat rate" is not adjusted in the standard system. Using an enhancement implementation by means of the BAdI, however, you can have the system also adjust this condition, if you set changing parameter cf_adjust_condition to abap_true for this condition type (parameter id_condtype_foradjm).
If the changing parameter cf_adjust_condition is set to 'P', the equivalent condition to be adjusted is determined for the adjustment object by regenerating the settlement participation.

  • MODIFY_ADJUSTMENT Modifies the adjustment
  • This method is called when the standard adjustment already calculated the new condition amount. The new condition amount is transferred to the BADI method using the parameter cd_unitprice_new . The calculated adjustment date is found in cd_validfrom_new. Both values can be changed in the BADI method. In addition, there is the parameter (table) ct_depend, which can be used to return additional adjustment amounts (subsequent adjustments). The returned values are only considered during the further processing of the program for the adjustment if the parameter cf_exit_processed is also set to abap_true. Using the parameter ct_message, you can also return messages that are then also displayed in the adjustment log.

The generated, method-specific adjustment records are contained in tables it_scajro, it_scajrosu and it_scajsettlref. Table it_scajrosu contains the proportional costs per settlement unit for the rental object/contract. Using this information, you can determine which settlement units are relevant for the special condition.

  • CHANGE_LOC_KEY Changes the regional location key for heating days
  • You use a regional location key in the service charge settlement to take heating days into account for cost distribution. You have entered this regional location key in the allocation rules of the settlement unit. In this case, the system uses the regional location key also for the annual extrapolation of costs in the adjustment.

Using this method, you can change the regional location key (parameter cd_loc_key) determined by the program. If an initial value is returned, then no regional location key is considered during the further run of the program. The import parameters have the following meanings:
  • io_bus_object - Adjustment object (either contract or rental object)
  • id_nksl - Service charge key
  • it_list_shareout - Allocation rules of settlement unit
  • it_adjmnksl - Adjustment parameter per service charge key that is passed on when the adjustment is executed
  • id_loc_key - Regional location key that is entered in Customizing for the service charge key

  • INCLUDE_LEAPYEAR Consider leap year?
  • With regard to the handling of leap years, the standard adjustment works as follows: First the system determines the costs of the settlement period that forms the basis for the adjustment of the advance payment condition. From these values, the system calculates the new values for the conditions, taking the lengths of the periods into account.

Assessment adjustment based on annual budget: Since the adjustment is based on the planned costs at the time of the adjustment, the leap year is not considered here. This means that the planned costs in a leap year, which are based on 366 days, are used as the calculation base for the new advance payment amount.
Adjustment of advance payments based on service charge settlement or tenant settlement: The new advance payments relate to the costs of a previous settlement period. Therefore, the leap year is considered in these cases. This means that the settled costs of a leap year (366 days) are converted to 365 days, and this converted amount is used as the basis for the new advance payment amount.
Using the method INCLUDE_LEAPYEAR, you can override this standard behavior as best suits your needs. This method is called only when the settlement period is a leap year. The method has the following import parameters:
  • io_bus_object: Returns the adjustment object (contract or rental object)
  • io_settl_unit: Returns the settlement unit, the costs of which are currently under consideration
  • is_condition: Returns the condition that is adjusted
  • id_process : Returns the process ID (REAA for assessment adjustment, RECO for COA settlement, RESC for service charge settlement, RETN for tenant settlement of COA)

    Using the changing parameter cf_include_leapyear, you can control how a leap year is taken into account. There is a default value for the parameter based on the system behavior. If the field contains an 'X', then the costs that are based on 366 days should be converted to 365.

  • CHANGE_PERIOD_PARTICIPATION Changes the period used for settlement participation
  • For an adjustment, the system considers special agreements in the settlement participation (maximum costs and tenant share) that are effective at the time of the adjustment. Using this method, you can change the time period determined by the program for determining the relevant settlement participation (parameters CD_DATE_FROM and CD_DATE_TO). The import parameters have the following meanings:

  • IO_CONTRACT - Contract to be adjusted
  • IO_RENTAL_OBJECT - Assigned rental object
  • IO_SETTL_UNIT - Relevant settlement unit

Requirements

Standard settings

Activities

Example

For an example implementation, see the class CL_EXM_IM_RESC_SETTLSTEP_AJ.

Notes for Developers

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 
Maintenance Objects
Maintenance object type E   Business Add-In - Definition 
History
Last changed by/on SAP  20110512 
SAP Release Created in 606