It was started couple days ago. Two of my colleagues reporting issue regarding write back data on a BPC Environment Model. We’ve never have this problem before. The write back engine run smoothly on every model in every situation.

So I start to debug several spots to understand what’s going on.

The error caused by Exception cx_badi_not_implemented which generated by method,
Find BAdI implementation,
GET BADI lo_badi
appset_id = d_appset_id
application_id = d_appl_id
module_id = ds_wb_param-work_status-module_id.

So, my first attempt I try to by pass this procedure by change flag ds_wb_param-execute_badi into abap_false.
But, on the following step there is more validation for this exception.

My second attempt would be checking the the object of lo_badi which reference into BAdI badi_ujr_write_back. There are two implementations using this enhancement spot. I’m guessing since this implementation we need to input appset_id, application_id, & module_id so we get the right implementation.
But the write back we used comes from standard process, it doesn’t make any sense if the implementation doing something wrong with standard process. So I crossed this possibility and start to think another option.

Then I tried to debug deeper.
The next guess would be my third attempt.
I found the same exception showed on method CL_UJV_VALIDATION_MGR -> CHECK_VALIDATION.
Try to dig deeper, I found the table UJV_MODULES which for BPC Validations – Module On/Off Table.
And there is only one record for that model. *AHA

So i googled little bit then found out that TCode UJ_VALIDATION which generate the record for tables UJV_MODULES.

Then I ask permission one of my senior if he still using the validation or not. Then Turning off validation for that model. It works like a charm.
Problem Solved

for further information on how UJ_VALIDATION works or how to use it check: