As I was reading through the Business Planning and Consolidations, version for SAP NetWeaver (BPC NW) forum today I noticed that there were various questions regarding Data Manager and more specifically around Data Manager and the various Business Add-In’s (BADIs) that are now available in Business Planning and Consolidations 7.5, version for SAP NetWeaver which is now in Ramp Up.
While attempting to answer one of the questions it dawned upon me that the way that Data Manager Packages are executed, asynchronously in the background, make them challenging to troubleshoot and/or debug. In fact even if you set an external breakpoint in a BADI or a Process Type’s implementing code within the data manager package, the breakpoint will be skipped because the overall process is being run in the background.
So I decided to outline a quick and easy way to change the execution of Data Manager Packages from asynchronous to synchronous so that a data manager package can be executed in a dialog process and debugged by a BPC BADI developer.
If you are implementing a BADI, for our example let’s say you are beginning to implement a retractor BADI and you want to analyze the signature in order to understand the interface of the BADI itself. For this example I am going to assume that the BADI itself has already been properly setup via transaction SE19 in your SAP BW backend system.
First, you need to set an external break point within the BADI you wish to analyze.
Within SAP Business Objects Planning and Consolidations, version for SAP NetWeaver there is an extremely useful feature for troubleshooting that we will employ here, assigning debug users. You can assign a debug user (an ABAP backend user) to your Windows Active Directory user / CMS user that you login to the BPC frontend with. To perform this assignment login to your .NET Server and launch the BPC Server Manager, choose the Server Menu and in the dropdown choose Maintain Debug Users.
Once you have selected the Maintain Debug Users option populate the User ID text field with your Active Directory or CMS User ID. In the Debug User ID text field enter the backend user you want to debug with inside of your SAP BW system and within the Debug Password text field enter your ABAP User’s password.
Once you have entered the necessary options click on the update button and restart the IIS Server. This will change the user the .NET Server uses to login to the BW System from the standard BPC NW Service Users to the above defined ABAP User.
Now login to the backend SAP BW server and navigate to transaction SE80. Enter the UJD (Data Manager) package and click on the glasses icon to the right of the text field. Under the Classes menu find the method RUN_PACKAGE and double click the method. Scroll down the method implementation until you reach line 65, at that point create an external breakpoint at that line.
Now from BPC for Excel click on the package that you want to run, populate the prompt values appropriately and click finish.
Once you click on the finish button you should see your SAPGUI screen flash and the external breakpoint within the RUN_PACKAGE method of the CL_UJD_START_PACKAGE class. Next double click on the LF_SYNCHRONOUS variable within the RUN_PACKAGE_P method’s importing parameters.
Within the Variables screen double click on the pencil.
Enter the value X in the resulting text field and hit the enter button.
At this point you have changed the method of execution for the data manager package from asynchronous to synchronous and can now hit F8 or the continue button to hit the breakpoint you created within your BADI implementation.
This technique can be employed to debug any and all aspects of a process chain or any BADI’s that are leveraged within the BPC NW Data Manager framework.
I hope that his lesson helps those out there implementing BPC NW troubleshoot your various data manager issues more effectively.
Enterprise Performance Management RIG