Tagsap bpc

Create Validation from Load File (ZCL_RSPLF_FILE_UPLOAD) in BW-IP

Also check SAP Notes:   SAP Note 2053696
URL Upload
<Host:Port>/sap/bc/webdynpro/sap/zrsplf_file_upload_v3?planning_sequence=<Planning Sequence>&sap-client=<Client>&sap-language=EN
Implement BAdI
Class – Method that trigger BAdI
Step #6 trigger  l_r_badi->transform_file
Step #8 trigger  l_r_badi->transform_record
Step #9 trigger  l_r_badi->transform_data
My Case
Need to implement validation when uploading file before data goes into infocube.
What I’ve Done
Put validation logic inside method transform_file from BAdI implementation.


Debugging ABAP BPC Standard 10.0 VS BPC Embedded 10.1

In BPC Standard 10.0 after we connect the Logic Script – BAdI – EPM Package we put the external breakpoint on object below,



In BPC Embedded 10.1 we are not using BAdI anymore to put logic programmaticaly BPC uses Fox Script, it’s extend version of logic script in BPC Standard, by extend I mean more powerful because it has more syntax to handle complex logic.

To execute ‘package’ in BPC Embedded we use Planning Sequence or Planning Function inside Analysis Office instead of running package on EPM Excel.

After all Datasource & Planning Function / Planning Sequence set up, put internal breakpoint inside below object, then execute Planning Sequence from Tcode RSPLAN


Class –  Method
(put it in first line executable syntax)
1. Execute planning sequence with execute step with trace then debug runtime appear.
2. Go to tab script then load script name ‘RSPLFC_DEBUGGING_SCRIPT_FOX’
then execute directly.
20170419-1022 20170419-1023

Voila! debugger for fox script appear.

to get the value of local variable inside Fox Script put some hardcode break-point.


[Solved] ODP Datasource Couldn’t Replicate into BW System


We used to do replication datasource using RSA5 and RSA6 in ECC System.  Then replicate the active datasource in BW System using RSDS.

But since SAP introduce ODP (Operational Data Provisioning) as Data Exchange Framework between Source and Target , it allows us to make use of the ODP source system to use the same technology for a data mart scenario between BW systems as you would for providing other SAP source data for the BW system.

To understand more about ODP here is the link for FAQ

The Case

After activating datasource in RSA5 & RSA6 ECC System the datasource is not appearing in BW RSDS Tcode.


First, understand the Color Legend in RSA5 transaction ( Utilities > Color Key ).

After activating datasource system asking for Package & TR for object. But the status still in red. In old replication this is common and we still can replicate it in our BW System. But it turns out the green check icon represent the Release Datasource for ODP.



then I’ve found out that not all Data extractor of Datasources is supported by ODP from here .  I check on table ROOSATTR in ECC System, but my failed replicated datasource already there.

“The ODP API does not show all Extractors, it only shows the released ones. The idea is that over the time multiple Extractors have been developed by SAP, some became obsolete, some might not work with this API. So along with the ODP API a new table is created in the dictionary called ROOSATTR containing all the Extractors the API and hence DataServices 4.0 supports.”

after reading the notes on  https://launchpad.support.sap.com/#/notes/2232584 ,

it saying,

SAP extractors: Most of the delivered SAP extractors are already released for ODP replication. You can release the corresponding DataSources in your SAP source system by implementing this SAP Note in your source system and then executing the program BS_ANLY_DS_RELEASE_ODP in the relevant source system. Pay attention to the restrictions that apply to the ODP release described in SAP Note 1932459 and KBA 2407906.

So i run the program BS_ANLY_DS_RELEASE_ODP in Development & Testing Client for Source System in BW. Voila! The status in RSA5 & RSA6 my active datasource already turn into green, which is activated for ODP.

If your datasources still not activated for ODP, in notes also saying that,

 For other SAP extractors that are not currently released for ODP replication but that you require, please open an incident in the application component BW-BCT-GEN.

Then Replicate in BW System

RSA1  > Source System > Choose Client under ODP – SAP > right-click > Replicate Datasource

You will find your activate datasources. Don’t forget to activate in RSDS Tcode to activating datasources in BW system.

Debug Story – BAdI not implemented for appset …

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:

© 2018 Rijdz

Theme by Anders NorenUp ↑