Additional Blogs by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

Scenario: Some of you may have noticed that Data Manager (DM) triggers a back ground job in NW ABAP layer and giving some challenge in debugging this job. One may want to debug this job to see what's happening in the Script Logic or what's getting in Write Back (against what you see finally in the cube). This blog briefs a way to debug the DM back ground job.

Pre-requisite skills: Medium to Expert level in ABAP Programming & Debugging and Beginner to Medium level in SAP BusinessObject Planning and Consolidation 7.0, Version for NetWeaver

Implementation:

1. Implement UJ_CUSTOM_LOGIC BADI from transaction SE19.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Use the below codes inside the EXECUTE method of the class implementation.

method IF_UJ_CUSTOM_LOGIC~EXECUTE.

*Parameters:
*I_APPSET_ID  Importing
*I_APPL_ID  Importing
*IT_PARAM  Importing
*IT_CV  Importing
*ET_MESSAGE  Exporting
*CT_DATA  Changing

DATA: N TYPE I VALUE '1'.
*Endless loop for debugging
WHILE N = 1.
ENDWHILE.
endmethod.

3. Assuming you want to debug a script logic during run time, Call the above BADI at the beginning of your script logic.

*XDIM_MEMBERSET P_ACCT= CE0004020, CE0004010

*XDIM_MEMBERSET CATEGORY = ACTUAL

*XDIM_MEMBERSET TIME=2006.SEP

*XDIM_MEMBERSET ENTITY= C9000

*XDIM_MEMBERSET P_ACTIVITY=NONE

*XDIM_MEMBERSET P_DATASRC=UPLOAD

*XDIM_MEMBERSET RPTCURRENCY = LC

//Increase Wage and Salary & Personnel Exp. by entered percentage

//Break-point - To be removed before transport

*START_BADI BREAK-POINT

   PARAM = 'NONE'

*END_BADI

[P_ACCT].[#CE0004020] = [P_ACCT].[CE0004020] * ( 1 + $WS_PERCT$ / 100)

[P_ACCT].[#CE0004010] = [P_ACCT].[CE0004010] * ( 1 + $EXP_PERCT$ / 100)

*COMMIT

4. Execute your DM Package from the Excel Client.

5. Make sure your job is running in DM Pakage Status window.

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Now, you will see a job running in transaction SM50 of your ABAP layer.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7. Select the job, then, go to Program/Session --> Program --> Debugging to debug this process.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. Now, ABAP debugger will take inside the EXECUTE method where we coded endless loop earlier.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9. Change the value of ABAP variable N to value other than "1" to exit the loop. Now, system will take you to next steps where remaining Script Logic will be execute or any other processes you are interested.

10. REMEMBER to comment/take out the BREAK-POINT call before any transport to other Environments from Script Logic.