Showing results for 
Search instead for 
Did you mean: 

BADI for Adjustments

Former Member
0 Kudos

Hi all,

We are on BPC 10.1 HANA- EPM 28 and we have a scenario where an Input Form performs the adjustments. For this the business wants to utilize a BADI.


Set up:

ModelName: DevPlan

EnvironName: Sys1

5 dimensions.

Department - Has the dimension members needed for the adjustments

Input Form Set up:

Report1 :

Account1 Account2

Department 1 100 1000

Department 2 200 2000

Input Form 1:

Account 1 Account2

Percentage (Stored) 5% 2%

Adjustment_Dep 1 5 20

Adjustment 2_Dep 2 10 40

When the data in the input form is saved, the badi should deduct the adjustments from the department and post a value : (Account1, Department1)- (Account1, Adjustment_dep1 ) : 95 in this scenario. The adjustments apply for all the accounts.

Now I have looked at two options:

1) through Custom logic

2) through writeback - I think this is appropriate, please advice me if it is otherwise

With Writeback, I have seen the Method in PreProcess Writeback badi

What are the changes I need to do to implement something like this? How can the Method be changed i.e. to perform the calculation and write it back to the Department 1 member?

Accepted Solutions (1)

Accepted Solutions (1)

Active Contributor

Looks like you are doing something overcomplicated 🙂

Create a property ADJTARGET and fill it for DepartmentXXX_ADJ with the corresponding DepartmentXXX

Then script default.lgf:

*DIM TGT:DEPARTMENT=DEPARTMENT.ADJTARGET //get target department value

*SELECT(%ADJ%,ID,DEPARTMENT,ADJTARGET<>'') //Not empty property!
*IS %ADJ% //only for DepartmentXXX_ADJ


Active Contributor

P.S. Please read my blog about default.lgf:

Answers (1)

Answers (1)

Active Contributor

Sorry, the required logic is very simple, why do you need a badi at all? Just use a simple script in default.lgf

For complex calculations it's better to use write back badi. Write back badi will get data before writing to the cube and you can generate new records to save.

Former Member
0 Kudos


I am trying to think of a logic script for this too. There is one issue with this though.. we don't have a relationship between the department and the adjustment department to scope it in properly. I mean Department1 has Department1_ADJ as the suffix for its corresponding adjustment member and nothing else in terms of properties. I am trying to think how we can manipulate the data in the logic script if we have a situation like this. We do have a property called "adjustments" that does filter out the departments that are adjustments related. I would assume using *select to filter out the departments I guess.