Less known BAdi’s around SAP IS-U Billing
Immediately after our SP upgrade (now at IS-UT: 617-0008-SAPK-61708INISUT / EHP7 FOR SAP ERP 6.0) we faced an error message ‘Rate Determination Inconsistent’ when we try to change/maintain the installation facts in transaction ES31 for the below scenario:
Gap between the validity period start date of Rate Determination and start date of the Installation time-slice.
Analysis and further explanation
All of the move-ins for these Installations are obviously after the tariffs start dates (Rate Determination validity) but the issue here is that, during Technical Master Data creation the start date of the Installation is always fixed (as 01.01.2007 which is not good as this is hard-coded!) in the past. For the new tariffs, Rate Determination validity is very recent (as in the case if we introduce new tariffs). This scenario is quite common in Utility industry.
After few analysis, I found that initially note 1081528 introduced this additional check on gap and throws this error message AJ-228 ‘Rate determination is inconsistent’ while in the maintenance of Rate Data from EC30.
Here we need to stop this additional check while maintaining the Installation Facts from transaction ES31, thus I found the SAP note 1554782 which is the solution for the side effects caused by the above note 1081528.
Enhancement Spot: ISU_BI_BILLING_SPOT – Enhancement Spot for Billing Execution is introduced in one of the latest enhancement pack for IS-UT which enables Utility customers to add their custom logic during billing or when reading the billing lines.
I implemented the BAdi ISU_BI_CUST_CONTROL under this Enhancement Spot.
In the method SUPP_RATE_DET_CONS_CHECK – ‘Suppress Consistency Check during Rate Data Maintenance’ we just have to set the indicator XY_NO_CONS_CHECK = ‘X’, this means the consistency check is suppressed while maintain the Installation facts from ES31.
While implementing this solution and going through the manual actions mentioned in the note I realised that there are other BAdis under the enhancement spot ISU_BI_BILLING_SPOT, and each has several methods which are really useful and opens up more possibility to enhance the billing process, so I thought I will mention those in this blog and I believe these will be useful for other SCN members:
BAdi: ISU_BI_ADV_PERIOD – Advance Billing Period
Method: CHANGE_ADV_PERIOD – Change Advance Billing Period
BAdi: ISU_BI_CUST_CONTROL – Customer-Specific Billing Parameters
ERCHZ_NO_JOIN – Single Access to DB Structures of Billing Lines
CHECK_IMPL_MR_IN_BILLING – Check for Implausible Meter Readings in Billing Period
ABHA_TRANS_OPTIMIZATION – Performance Optimization of Transitive Setup of IABHA
ONLY_ACTIVE_INST_FACTS – Read Active Installation Facts Only
INST_FACTS_DATEXCONNECT – Write IDOC for Installation Facts in Billing
SUPP_RATE_DET_CONS_CHECK – Suppress Consistency Check During Rate Data Maintenance
CONSIDER_PRICE_TYPE_CHANGE – Take Price Type Change Into Account in QUANTI Variants
INCREASE_PERF_RATECAT_CHANGE – Accelerate Billing for a Rate Category Switch
PRODREL_CONREL_CHANGE – Contract and Product-Related Operands in Move-In/Out
CHNG_TIMBASIS_AT_LEAPYEAR – Determine Time Basis Individually for Leap Year
CHNG_EABL_FOR_BSP – Adjust Meter Readings for Unbilled Revenue Reporting
IGN_EST_MR_IN_DPC_SIM – Ignore Estimated Meter Readings in DPC Simulation
BAdi: ISU_BI_OBJ_CUST – Enter Customer Data in Billing Object
Method: FILL_OBJ_CUST – Enter Customer-Specific Data in Billing Object
BAdi: ISU_BI_PRORATION – Selection Criteria
Method: PRORATION – Customer-Specific Proration of Billing Document Lines
BAdi: ISU_BI_UPDATE – Prepare and Save Data for Update
UPDATE_PREPARE – Transfer Additional Data to Update Structure
UPDATE_DO – Save Additional Data
UPDATE_DO_BSP – Save Additional Data (Unbilled Revenue Reporting)
If you find this useful or if I missing anything, please feel free to comment below.