Skip to Content

BPC 10.1 push data from source to target model with extra logic (badi runlogic_ph?)

Nov 01, 2016 at 08:27 PM


avatar image

Dear community,

I'm trying to find the best way to perform following task in BPC10.1 (classic):

- I have to send data from source model to the target model, but this data should be allocated on the target model side using the data available in the target model.

Here is the example of what i'm trying to achieve:

  • source model - Sales Plan - contains 2 detailed dimensions (customer and product), and entity dimension - is Division
  • target - model Income_plan - contains financial data, with entity - profit centre, and does not have any detailed dimensions. All the other dimensions (i.e. accounts, versions etc. are same across models)
  • Division is essentially the grouping of Profit Centres (so far profit centres has the hierarchy, with nodes as a Division, or can add another property to simplify the task). (in my example below Profit Centre "A" and "B" are related to Division "POR")

I have to push data (preferably whenever data is changed in Sales_Plan, so logical place might be Default.lgf in the source model) from source to target, while allocating it to Profit_centres, using the data in the target model as a basis for allocation. For example: I have in target model - profit centre "A" which has 30$ and profit centre "B" which has 70$ of total amount of 2018.01 period on the GL Account 1000. User saved in Sales Plan 2000$ for the Division "POR" for the same period/gl account, and we would like system to save this 2000$ as 600$ on Profit Centre "A" and 1400$ on Profit Centre "B" (based on the fact that share of Profit centre "A" is 30% = 30/100 and Profit centre "B" is 70%).

1) I have tried to create script on the Source model using the *DESTINATION_APP command, and tried to perform certain logic in "WHEN,IS,REC" statement, but I can only access data available in the Source model, otherwise system throws errors, since I don't have Profit Centre dimension in Sales Model. So it seems I can't actually use simple script to perform this task.

2) I've tried to use custom logic badi on the source model, but again - all I get in the passed values to badi are records from the Sales Plan, and I can't access from the coding the target model data (without going rsdri_info_prov_read, or any other BW fm's)

3) I'm about to explore how-to BADI RUNLOGIC_PH, but according to description I'm not fully sure that it will help me. In the meantime decided to post here to see - maybe there are some other nice options, since this is my first year with BPC, while my main experience coming from BW and BI-IP.

What are your thoughts on the described scenario? What is the best way to do it?

I will appreciate your advice.

Kind Regards, Alex

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Vadim Kalinin Nov 01, 2016 at 08:45 PM

First - I do not recommend to use default.lgf for complex calculations including allocation. Can be slow. Better to launch DM package.

Custom logic badi is always an option and you can read and write data from and to any model in abap code.

Runlogic is a good option in general.

First you need to copy data to some artificial base profit centers representing division using destination_app

Then in the same script you use runlogic_ph to launch script in target model to perform allocation.

10 |10000 characters needed characters left characters exceeded