SEM BPS - Planning function to distribute total value over months
Hello,
We use SEM BPS. In fact we use the integration of SEM BPS in the CRM opportunity component as opportunity planning.
Now we want to distribute the total value of certain key figures over the months. Either equal distribution or increasing distribution like 1% increase every month. What would be the best way to do that with a planning function?
We need to take into account that the number of months depends on the start and end date of the transaction (opportunity).
Best regards,
Thomas
Hi Thomas,
I would probably create a fox formula, do a foreach in selection loop over the months and distribute the values within that formula.
If you want to use a standard distribution function, you need to create the reference data somewhere before, which could be a bit difficult if the timeframe changes according to user selections.
regards
Cornelia
Similar Messages
-
Use Planning Function to calculate new value
Hi All,
I have what seems to be a simple problem, but no success in resolving.
I have 3 planning keyfigures:
-Units
-Price
-Value
The price field is populated from another planning sheet.
The unit field is entered by the user.
The value should be calculated by planning function when button pushed.
I have tried just basic "Value=Units*Price", but always comes back zero.
I have also tried more complex "{Value, CharA, CharB, CharC} = {Units, CharA, CharB...." for each characteristic. Still zero.
It must be multipling by zero, but not sure how to avoid.
If I put "Value=Price", it works. If I put "Value=Units", it works. If I put "Value=Units+Price", it works.
Please help.
Terrence
Here is the details.
In the infoprovider the data is like this:
Country/ Product/ Unit Sales/ Price/ Value
DE/ Shirt/ 50/ 0/ 0
DE/ Shirt/ 0/ 100.00/ 0
The query is display:
Country/ Product/ Unit Sales/ Price/ Value
DE/ Shirt/ 50/ 100.00/ 0
I have tried the following 2 formulas:
Formula 1:
= {Unit Sales} *
Formula 2:
FOREACH Country, Product.
{Value, Country, Product} = {Unit Sales, Country, Product} * {Price, Country, Product}
ENDFOR.
Both return zero for values.
Thanks,
Terrence
Here is the details.
In the infoprovider the data is like this:
Country/ Product/ Unit Sales/ Price/ Value
DE/ Shirt/ 50/ 0/ 0
DE/ Shirt/ 0/ 100.00/ 0
The query is display:
Country/ Product/ Unit Sales/ Price/ Value
DE/ Shirt/ 50/ 100.00/ 0
I have tried the following 2 formulas:
Formula 1:
= {Unit Sales} *
Formula 2:
FOREACH Country, Product.
{Value, Country, Product} = {Unit Sales, Country, Product} * {Price, Country, Product}
ENDFOR.
Both return zero for values.
Thanks,
Terrence
BW SEM-BPS API functions from a Web Dynpro project in Netweaver
Hi,
Rather than using the standard Web Interface Builder in BW SEM-BPS (3.1B), we have to use SAP Netweaver to create a Web Dynpro project which accesses all the API_SEMBPS functions, such as GETDATA, SETDATA, FUNCTION_EXECUTE etc. Has anyone done this before? If so, do you have any examples, hints?
Regards,
Linda Lee
Hello Linda,
let me add some more remarks on this topic from the BW-BPS development perspective:
I completely agree with Marc's statement.
Thechnically it is possible to build a planning application UI on top of the BW-BPS API functions and we have some customers that are live with such a solution. However, I would recommend this only in 2 cases
1. You need to create a tightly integrated application with BPS being only one part of several other components (including transactional UI, e.g. running against a CRM system).
2. You prefer a UI technology that is not provided by SAP (e.g. Java Swing based).
In all other cases, I would say that one should stick to the Web Interface created with Web interface Builder, mainly for cost reasons. If this tool does not fulfill all your needs there are several possibilities to enhance and extend the generated web interfaces by custom specific coding (see also several How-To guides in this area; e.g. "How to integrate a BEx Web Template into a BPS Web interface").
Another possibility is to loosly couple several web UIs with the help of the portal.
To my knowledge, it is not true that BSP web technology will be obsolete shortly.
In general, I would always prefer a tool supported, model driven approach compared to a heavy custom coding. This is also in sync with SAPs general strategy to a more pattern based approach to create UIs.
Regards,
Tobias Hagen
Dev. Manager BW-BPS
SAP NetWeaver BI
BPS Planning Function Performance
Dear all,
In our projects we've faced the following problem.
We have BPS user-exit planning function. This function should process a large amount of data. And, of course, performance of this processing is very critical!
To increase performance we divided whole data amount into subsets and launch mentioned PF for each subset in background within separated thread ([http://help.sap.com/erp2005_ehp_04/helpdata/EN/c4/3a7f1f505211d189550000e829fbbd/frameset.htm], [http://help.sap.com/erp2005_ehp_04/helpdata/EN/fa/096e92543b11d1898e0000e8322d00/frameset.htm])
But now the problem:
Processing time for first thread is more, than 15 minutes of 35.000 records.
For second one - 5 sec(!!!) for 25.000
Third thread - 4 sec for 20.000
and so on...
In some threads calculation time also increases to 10-15 minutes for one thread. Statistic of calculation is below
Thread - Ecex. Time - Total read - Changed - New
1 - 0:12:46 - 33124 - 16317 - 1252
2 - 0:00:03 - 12936 - 2202 - 264
3 - 0:00:05 - 17108 - 6072 - 468
4 - 0:00:03 - 8540 - 2184 - 402
5 - 0:00:03 - 0 - 0 - 0
6 - 0:00:03 - 448 - 56 - 180
7 - 0:00:04 - 8344 - 2250 - 390
8 - 0:00:04 - 14112 - 4184 - 404
9 - 0:00:05 - 24388 - 10190 - 560
10 - 0:00:03 - 11482 - 4728 - 606
11 - 0:00:04 - 11508 - 4740 - 616
12 - 0:00:04 - 0 - 0 - 0
13 - 0:00:03 - 5936 - 1168 - 180
14 - 0:00:03 - 15036 - 4900 - 662
15 - 0:00:04 - 17640 - 5516 - 366
16 - 0:07:18 - 18284 - 8810 - 572
17 - 0:07:05 - 17752 - 8064 - 436
18 - 0:00:00 - 19966 - 6018 - 384
19 - 0:00:00 - 0 - 0 - 0
20 - 0:00:01 - 19992 - 6016 - 384
21 - 0:00:01 - 336 - 82 - 180
22 - 0:00:00 - 0 - 0 - 0
23 - 0:00:00 - 11228 - 2302 - 444
24 - 0:00:03 - 224 - 64 - 180
25 - 0:00:03 - 7952 - 3510 - 180
26 - 0:00:03 - 8288 - 2058 - 390
27 - 0:02:30 - 11928 - 5292 - 180
28 - 0:00:04 - 19096 - 3964 - 486
29 - 0:00:00 - 1568 - 490 - 180
30 - 0:02:29 - 11452 - 2428 - 444
31- - 0:00:01 - 12656 - 3436 - 504
32 - 0:00:00 - 0 - 0 - 0
33 - 0:00:09 - 336 - 126 - 180
34 - 0:00:08 - 4648 - 1086 - 180
35 - 0:00:07 - 0 - 0 - 0
36 - 0:00:06 - 0 - 0 - 0
37 - 0:00:05 - 336 - 24 - 180
What is a reason of such behaviour of PF?
Where is a bottleneck and how to eliminate influence of bottleneck on execution time of whole data amount?
Your advices
Hello Dmitry,
take a look at the runtime statistics in transaction BPS_STAT0 (You might have to turn them on and re-run your process). This will show you where the time is spend (database or BPS).
If it's database time, then get your Basis Team involved. Check that DB stats are up-to-date, check that InfoCube requests are rolled-up/compressed, do SQL trace and analyze the DB execution plan, etc.
If it's BPS time, then it's probably something in your exit function. An ABAP trace (SE30) should help to nail down the root cause.
Processing packages is parallel is in general a good way to make it run faster. However, if the packages are too small the overhead will actually reduce performance. I would start with 5 parallel processes.
Regards,
Marc
SAP NetWeaver RIG
CHAR RELATIONSHIP error in SEM BPS planning sequence
Hi,
I'm executing a planning sequence with 2 planning functions.
1st being "Exit funciton" & 2nd being "Repost funciton".
I've a "characteristic relationship of type attribute" defined at the planning area level.
Am getting CHAR RELATIONSHIP check error when am executing this sequence.
EXIT function gives blank values for a characteristic that is used in "characteristic relationship".
But, REPOST function adjusts this blank characteristic value to actual value which will be correct when "CHARACTERISTIC RELATIONSHIP" is checked.
When I execute sequence, EXIT function gets executed & CHAR RELATIONSHIP errors are being displayed before "REPOST" function is being executed.
Is there any other approach to deal this scenario? like checking CHAR RELATIONSHIP after REPOST funciton execution?
I can execute REPOST funciton from "EXIT FUNCTION" using API_SEMBPS_FUNCTION_EXECUTE, but this doesn't suit my needs.
Please note that I've a need to use 2nd planning function rather deriving characteristic relationship from the EXIT function.
Appreciate any ideas/thoughts.
Hari,
each function must produce results that adhere to the rules specified as characteristic relationships. BPS will always execute the char.relationships after the exit function. You might be able to avoid this by adjusting the characteristics in your planning level.
Calling another function (like REPOST) from within an exit is not possible since BPS needs to finish processing the exit first, before it can run the repost.
Regards
Marc
SAP NetWeaver RIG
Execute BPS planning function on opening of web planning layout
Hi all,
Does anyone know how to execute a planning function automatically at the moment of opening a web planning layout in a BPS web planning folder(tx code BPS_WB/BPS_WIF0)?
This was possible in the old BPS planning folder, but does not seem possible in the web planning folders?
Thanks,
Rael
Hello Rael,
Basically you have 2 options:
- Use the same trick as in the how to paper "How to call a BPS Web Interface with predefined variable values" (see service market place, alias BW, then BI Planning). In the BSP page you do not set a variable value but use the BPS API to execute a planning function (just call the function module API_SEMBPS_FUNCTION_EXECUTE). When using the url parameters in a similar way as in the how to paper you can call different function modules for different web applications.
- You can use the application class in the web interface builder and call the function in the "on load" method. There is a how to paper describing how such a application class can be used (Validate key figure values in manual planning - web). Note that there another event is used and thus a check AFTER input is done.
Well - the second option might be a little more elegant but I think the first one is definitely less complicated and less work...
Best regards,
Gerd Schoeffl
SAP NetWeaver RIG BI
Integrated Planning vs BPS - Planning Function and filters
Hi,
I'm trying to create a planning function previously defined in a BPS system into a new system with Integrated Planning. Some considerations:
BPS:
- I define first a planning level on a planning area. In this level I set some selection values.
- Then I define a planning package that can contain other further filter values
- Then I create my planning function
- Then I create a parameter group that contain parameter values the function will use.
Integrated Planning:
- I can create a planning level and, separately, I can define more than one group of filters;
- Then, I can create a planning function, where I can set some fixed values in the "field used for condition" tab. These values are common for every user that launch the function.
So, from my point of view, it seems that:
BPS: I have 3 points where I can set filter parameters (level, package and parameter group), and I can launch for example the same function selecting different packages or different parameter groups;
IP: I have only one point where I can set filter parameters (Filter, defined on level)
Is all right? In this case, I don't exactly know how to migrate the same function defined in BPS in the Integrated Planning environment.
Any ideas?
Thanks for the support!
Gianluca
Hello Gianluca,
BPS: I have 3 points where I can set filter parameters (level, package and parameter group), and I can launch for example the same function selecting different packages or different parameter groups;
IP: I have only one point where I can set filter parameters (Filter, defined on level)
In IP you have 2 places, Filter and the function itself. In the function you will get characters for conditions where you can again filter. Migration is simple.
And in BPS? If I define a planning package with a filter (example: Country = Italy) and I select this filter during the launch of the function, do I see records with country = Italy in my reference data?
I guess you are mentioning package as filter. If yes then yes you will only get Italy data in your reference.
The parameter group restrictions in BPS are done in planning function itself in IP. But one difference is in BPS it allowed multiple parameter groups.
And I think even in BPS FOX brought reference data that were subsets of restrictions made in packages and planning level. I dont think in BPS also we were able to read reference data out of the planning level and package.
Regards,
T-Bird.
Hi Friends,
I would like to produce
1. Rolling Forcast,
2. Buget,
2. 10 Year plan ,Quaterly Annual basis
with multiple views,
By Product (Revenue, margin,direct cost)
By Customer(Revenue,Margin,Direct Cost).
I presume i will be producing these reports by SEM-BPS, but in dilemma whether it will be BW-BPS, and also to work on SEM-BPS do we have to have BI 7.x?
I would be very grateful if anyone can guide me in best possible way.
Many Thanks
Imran
Hi Bhanu,
Thanks for your help,
1. Which version these reports should be developed in Query designer , It can suppurt only 7.x?
2. Once i create a report in Query designer how can i assign it to the BPS Layout.
Thanks in advance for your help
Best Wishes
Imran
Breakpoint in CRM to jump to BW-BPS plan function code?
I have a BW-BPS planning exit function that runs on the Costs Tab of marketing planner.
Does anyone know where in CRM to set the breakpoint to let me jump across instances to the breakpoint in the planning function?
Hi AStine,
Given the situation that one does not know the CRM codings where the RFC is placed, you may always set a breakpoint on RFC, this will enable the debugger to be stopped at every remote function calls during the execution:
/h
Breakpoint at->statement->
fill 'rfc' in the popup text box
Then maybe after several debugger stop, you will be able to find the one you want.
Then use F5 button to step into remote system, please ensure that the remote communication user is set as dialog user.
Hongyan
Hello
When running a planning layout in the GUI, it is possible to go the edit menu and undo the planning function. When I create a function, I do not see 'Undo' as a standard function. Is it possible to undo a planning function on the web ?
Thanks
Hello,
if I understood your question alright you want to execute the undo function in the web interface without "click".
Did you try to "Generate class" (attribute of Webinterface)? In the class (name also in the attribute) you can find the functions name and in the "on input processing" you will find:
" when 'UndoButton1'. " -
UndoButton1->submit( ).
So the execution is to add or assign this line to the event you want
regards
Eckhard
Hi All,
I've implemented couple of Planning functions in the Planning Package but for some reason they are not showing up in the layout.
Am I missing any settings or something???
Did anyone faced a similar issue before.
Thanks
Vani.
Where are you trying to see the functions, in planning folder or in web interface?
SEM 4.0 - BPS Planning Function - Currency Translation (Account Based) !
Hi,
Currently we are migrating from SEM 3.1 to SEM 4.0 and we are using Currency Translation (Account Based)and would like to use the same functionality, but for some reason the CT functionality is not working properly. It is throwing garbage numbers in SEM 4.0.
Is anyone out there facing similar problem on the Currency Translation (Account Based) functionality on SEM 4.0. Appreciate your help.
Thx,
Jay
Hi,
We are working on Integrated Planning(IP). We are currently using a key figure based model, where in we have 0amount, 0amocac and 0amoccc for transactional currency, controllling area currency and object currency amounts.
If we go with account based model for keyfigures, i.e by taking currency type as 00, 20, 10 , we have a problem with the currency translation functions.
Could you please let us know, how we can handle currency translation with the account based model?
Thanks,
Srini.
SEM-BPS (planning area)
hi friends,
can u give me steps how to create planning ara planning level packages, mannul planning give me screen shots , so i can try my self, can u give me on ereal time example.
Thanking u
suneel.
Hi Suneel,
Please go through this link.
http://help.sap.com/saphelp_nw2004s/helpdata/en/bb/d6fd37c7bfc72ce10000009b38f842/frameset.htm
Also here are some links which would be helpful for you to get started with BPS
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/biw/s-u/sap%20bw%20business%20planning%20and%20simulation%20-%20how%20to%20guides%20list.htm
https://media.sdn.sap.com/public/eclasses/teched04/BW253_files/Default.htm#nopreload=1
https://www.sdn.sap.com/irj/sdn?rid=/webcontent/uuid/3040dd5d-0501-0010-baa8-fc0aafa88c40 [original link is broken]
http://help.sap.com/bp_biv235/BI_EN/html/BW/CostCtrPlan.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/biw/d-f/enhancements%20bw-bps%20formerly%20sem-bps%20in%20sapnetweaver%2004.ppt
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5d90209f-0501-0010-59a2-9243ac94a4d7
http://help.sap.com/saphelp_nw04/helpdata/en/05/242537cedf2056e10000009b38f936/frameset.htm
Regards,
Praveen
Variables in BPS planning function
Hi all;
I dont if this is possible but Im trying to do the following formula:
DATA OV TYPE 0SALESORG.
DATA CD TYPE 0DISTR_CHAN.
OV = VARV ('ZORGVE').
CD = VARV ('ZCANDI').
FOREACH OV, CD.
{ZOV_QTD,CD,OV,L,V_PL_EST,020,ZMERCOVCD,ZPAOV03} =
{ZOV_PERC,CD,OV,#,VTP,010,ZMERCOVCD,ZPAOV03} *
{ZOV_QTD,#,#,L,V_PL_EST,020,ZMERCADOSF,ZPAOV03}.
ENDFOR.
In the level there arent any restrictions to the variables assign to OV and CD.
If I restrict the variables to only one value the formula runs, but if I inserted 2 values or an interval a message appears telling there isnt possible because the variables arent restricted to one value (notice that the values of this characteristics are blank in the condition ZMERCADOSF).
My question is: Are any way to run this formula with 2 or more values assign to the variable OV?
Thanks in advance.
Ricardo
Hi Mayank;
The formula works for all the OVs.
The error no longer appears but it didnt respect the values assign to the OV (runs for all OVs)
This is what I use:
DATA OV TYPE 0SALESORG.
DATA CD TYPE 0DISTR_CHAN.
DATA N TYPE I.
DATA I TYPE I.
N = VARC(ZORGVEND).
I = 1.
DO N TIMES.
OV = VARI(ZORGVEND, I).
I = I + 1.
ENDDO.
Im not sure N and I are declared correctly. Are they Type I?
Regards;
Dear Friends,
Req: Varaible gets current or entered month value and the value of variable will be summed up till 012th month. It should not go > 12. Eg: Assum the entered value = 007 and the calculation goes 008, 009, 010, 011 & 012.
In order to fullfill the customer req. Iwe need to apply the below logic. We have done this code in SEM-BPS planning function.
DATA PER TYPE 0FISCPER3.
DATA FPER TYPE 0FISCPER3.
PER = VARV (YFROMPER).
DO.
FPER = PER + 001.
if PER > 001 AND PER <= 12.
YDPT_PRKG, PER} = {YDPT_PRKG, FPER}.
Else.
Exit.
Endif.
ENDDO.
But, this above code is not work as expected and it's executing infinite...Please look into the code and correct me if any syntex or logic issue.
Thanks in Advance for kind support.
Best Regards,
KS
Hey KS,
I'm assuming you've solved this already but if not . . .
Looking at the code below, you see to only hit the ELSE condition and hence exit if PER is not between 1 - 12. Yet you only increment FPER so PER never changes and this loop will run forever.
Might also want to increment the total:
{YDPT_PRKG, PER} = {YDPT_PRKG, PER} + {YDPT_PRKG, FPER}.
Hope this helps.
Regards,
Dan
Maybe you are looking for
-
BBPIV09: Find Purchase Order Functionality
Hello SRM Experts I am trying to create an Invoice using Invoice Clerk role in IMS . Transaction BBPIV09. When I try to find POs from this screen system takes me to the find Invoices screen. This screen has two options either create invoices or dis
-
Hi, Can you please let me know how to add the radio button in the selection criteria of the ABAP/4 Query. InfoSet is developed by joining two tables. It does not include any LDB. Requirement: Based on the Radio button value given in the selection-scr
-
Unable to connect SQL2008 system
Dear All, I am trying to connect to SQL database 2008 system at receiver side. for this I have used Business Service and configured the JDBC adapter at receiver side. Do I need to make configured Busniess System in SLD? I am using JDBC Driver: com.s
-
Help: ServletRequestListener & web.xml ?????
salamat, i wrote a sample that uses a ServletRequestListener .The code is fine , when i try to statrt my application it gives me a HTTP status 404 The requested resource (/index.jsp) is not available....... when i remove my listener decleration from
-
Cover Flow for iTouch video?
If any Apple developers are listening, is there any way in the future we can have the option to display our iTouch videos using Cover Flow? While it's nice to have that option in iTunes, it would also be cool to have the option for the iTouch video a