Formula planning function in IP

Hi,
I would like to have formula planning function IP.
The user is able to input percentage of growth, inflation and savings.
Then the system has to calculate the percentages on previous budget and calculate the current budget.
How the variant can be bring into picture to give more flexibility.
Any inputs are highly appreciated.
Regards,
Ravi

Hi Ravi,
You can model your requirement in the following way.
1. You can set the filter for the planning function to get the budget from the cube in which the previous budget is stored.
2. Now based on the Percentage(input) entered by the user, you can calculate the new value of the budget and store it into the planning cube.
You would have to use the FoX forumula as you might be aware of. The previous budget would be your reference data from the cube where it is stored, and it would come from the filter. The percentages based on which the current budget is calculated can be populated from the input ready query.
Regards
Snehith.

Similar Messages

  • BI IP - Planning Function Type Formula Error "Characteristic not Supported"

    Hi all,
    I have created a planning function type formula with very simple code. The code was copied from SAP Library and FISCPER was replaced with 0CALDAY. I continue to get an error 'Characteristic 0CALDAY is not supported".
    The characteristic 0CALDAY is in the Infoprovider and the aggregation level. I have tried 'To Characteristic Usage' with both changed and in condition.
    DATA D1 TYPE D.
    DATA D2 TYPE D.
    DATA I1 TYPE I.
    DATA I2 TYPE I.
    DATA CALDAY TYPE 0CALDAY.
    FOREACH CALDAY.
    CALCULATE 1ST DAY OF ZCALEND
    D1 = C2DATE( CALDAY, S ).
    CALCULATE LAST DAY OF CALDAY
    D2 = C2DATE( CALDAY, E ).
    CALCULATE THE DIFFERENCE BETWEEN LAST AND 1ST DAY MINUS TWO DAYS
    I2 = 2.
    I1 = D2 - D1 - I2.
        MESSAGE I001(UPF) WITH 'DIFFERENCE' I1.
    ENDFOR.
    Thank you in advance for any help.
    Teri

    Thank you very much for your reply. What would you suggest? I must use 0CALDAY.  As you can tell I am very new to IP, I have tried other options for example:
    DATA ZDAYS TYPE I.
    DATA ZDT TYPE ZCALSTART.
    DATA ZDF TYPE ZCALEND.
    ZDT = ZCALSTART.
    ZDF = ZCALEND.
    ZDAYS = ZDT-ZDF.
    {KF,ZDT,ZDF} = ZDAYS.
    I received an error "ZCALSTART could not be recognized"
    I also tried to call a function. 'FIMA_DAYS_AND_MONTHS_AND_YEARS'.
    DATA D1 TYPE D.
    DATA D2 TYPE D.
    DATA DD TYPE I.
    DATA CALS TYPE ZCALSTART.
    DATA CALE TYPE ZCALEND.
    D1 = CALS.
    D2 = CALE.
    CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
      EXPORTING
        I_DATE_FROM          = D1
      I_KEY_DAY_FROM       =
        I_DATE_TO            = D2
      I_KEY_DAY_TO         =
      I_FLG_SEPARATE       = ' '
    IMPORTING
       E_DAYS               = DD.
      E_MONTHS             =
      E_YEARS              =
    I received an error "Types of parameter I_DATE_FROM () and variable D1(D) are inconsistent".  From what I could find they should be consistant.  Please provide any suggestions. Thank you!
    Teri
    Edited by: teri chandler on Mar 30, 2010 3:26 PM

  • How to implement this planning function using Fox formula

    Hello,
    I am new to Fox.
    I want to implement this complex logic in a planning function
    i have A (Kf X from infoprovider Z_A), B (Kf Y from infoprovider Z_B) & moreover there is one more condition,
    If current FISCPER > variable value of FISCPER
    KF Z = KF Z1 (from Cube C1)
    Else KF Z = KF Z2 (from Cube C2).
    for a particular calender week,
    X =   ( Y * Z ) / (summation of (Y * Z)  for each week of the whole year)
    I know it is complex.
    but i have to implement this in a planning function.
    The aggreagtion level is built on a multiprovider having A, B , C1 & C2.
    Can someone help me out with the FOX formula for this? or is there any better way to do this.
    Thanks john

    Hi Gerardo,
    Thanks for that.
    I have tried something similiar to it
    DATA CHA_CALWEEK TYPE 0CALWEEK.
    DATA CHA_COMP_CODE TYPE 0COMP_CODE.
    DATA CHA_FISCPER TYPE 0FISCPER.
    DATA VAR_PERIOD  TYPE 0FISCPER.
    DATA SUM_YEAR TYPE F.
    DATA TEMP_D TYPE F.
    DATA SUM_WEEK TYPE F.
    CURRENCY IS LOCAL CURRENCY. FOR DATA SELECTION TO BE RIGHT, NECESSARY TO DERIVE FROM CC.
    DATA UN_LOC_CURRCY TYPE 0LOC_CURRCY.
    UN_LOC_CURRCY = VARV(Z_U_I100).
    CHA_COMP_CODE = VARV(Z_U_I100).
    To Calculate the D
    VAR_PERIOD = VARV(Z_U_I010).
    SUM_YEAR = 0.
    TEMP_D =0.
    IF CHA_FISCPER > VAR_PERIOD.
    TEMP_D = {ZSA_BUD2X,CHA_COMP_CODE,CHA_FISCPER,YBUDG_01X,CHA_CALWEEK}.
    FOREACH CHA_CALWEEK.
    SUM_YEAR = SUM_YEAR + TEMP_D * {ZCREENTSV,CHA_COMP_CODE,CHA_FISCPER,ZIP_RREF1} .
    ENDFOR.
    ELSE.
    TEMP_D = ({ZSAEXCUSV,CHA_COMP_CODE,CHA_FISCPER,YRT_C02X} - {ZCREENTSV,CHA_COMP_CODE,CHA_FISCPER,YRT_C02X}).
    FOREACH CHA_CALWEEK.
    SUM_YEAR = SUM_YEAR + TEMP_D * {ZIP_INDEX,CHA_COMP_CODE,CHA_FISCPER,ZIP_RREF1}) .
    ENDFOR.
    ENDIF.
    But i am getting a syntax error
    Formula error: } expected
      Syntax error in row 21, column 20
    i have marke line21 in bold. above.
    I feel it is correct, still wonder why i am getting this error.
    can you pls help ?

  • How to Write a FOX Formula in Intergrated Planning Functions?

    HI BI-IP Experts,
    I have just written a FOX formula to call an ABAP Function Module which will execute a Process CHain to run.
    Here is what I wrong in the FOX formula in the Planning Function ZPF_FOX_CALL_PC.
    Call Function Z_CALL_PROC_CHAIN
    = * 1.
    I had to add in this line otherwise the system do not allow me to save the FOX.
    In the Function Module Z_CALL_PROC_CHAIN, it contains the following codes:
        SUBMIT rsprocess
               WITH type    = 'CHAIN'
               WITH variant = 'Process chain name'
               AND RETURN.
    Next I created a workbook with a button that executes this Planning Function ZPF_FOX_CALL_PC.
    The button contains 3 lines:
    CMD => Execute Planning Function
    Planning Function Name => ZPF_FOX_CALL_PC
    CMD => SAVE_AREA.
    After I clicked on the button, my excel seems to be running and I waited for very long but nothing happens.
    And it seems to be running and running and won't stop.
    Is it because the program is running in a loop because I missed out some codes in the FOX?
    Thanks,
    Shunhui.

    hi,
    Since you have not given any condition, the fox formula is being executed for all the number of records...thats why you are seeing the loop.
    example if you have 10 records in your BPS template, the formula is getting executed 10 times for each
    you need to select the field for condition which will make 1 entry, so the function module gets executed just once..
    or.. in the function module when you trigger the process chain, make an entry in a database table... when the 2nd row starts, it will check the table... if the entry exists, it will skip the scheduling of process chain... so on..
    In the process chain.. at the end, delete the entry from the database..
    so your code in the function module should be like this ... assume you have 10 records..
    select * from table zlock  where process chain name = pc name  
    (this is to check if the process chain is already running, if yes skip, if no trigger the process chain)
    if sy-subrc eq = 0.
    exit
    else.
    DATA: number           TYPE tbtcjob-jobcount,
          name             TYPE tbtcjob-jobname VALUE 'JOB_TEST',
          print_parameters TYPE pri_params.
    CALL FUNCTION 'JOB_OPEN'
      EXPORTING
        jobname          = name
      IMPORTING
        jobcount         = number
      EXCEPTIONS
        cant_create_job  = 1
        invalid_job_data = 2
        jobname_missing  = 3
        OTHERS           = 4.
    (this will trigger the process chain in background)
    IF sy-subrc = 0.
      SUBMIT rsprocess
      WITH type = 'CHAIN'
      WITH variant = 'PC name'
      VIA JOB name NUMBER number
                        AND RETURN.
    (after the process chain started, make an entry in the lock table.. so it will not be executed again)
    insert entry in table zlock
    ENDif.
    endif.
    I understand this is complex, but I think its one solution I can think of.

  • Planning Function Execution Using Formula Function

    Is there a way to execute a "planning function" N times in a formula function and being able to change the parameters of the "planning function" on each iteration.
    Regards,
    salman

    Salman,
    You should go for any kind of Exit functions when they are really required, I guess your requirement is like such that you have certain selections different in your level and accordingly you are planning.
    Then you should go on creating packages as many different selections you can on a level and you call them up using a sequence.
    That's good way to deal this, I hope this is a helpfull input for you
    Best Regds,
    Ven

  • Use Formula variable in planning function

    Hello,
    I would like to use a formula variable in a planning function.
    The problem is that when I execute this function all keyfigures values are set to 0 so the FOX is not executed.
    The idea is to have something like
    = VARV(FORMULAVARIABLE).
    How could this be achieved using FOX ?
    Or how using an exit function could I call this FORMULAVARIABLE which is not used in the query ?
    Thanks,
    Matthieu

    Hello Matthieu,
    Please search the forum before posting:
    http://forums.sdn.sap.com/click.jspa?searchID=70350665&messageID=9814615
    Regards,
    Marc
    SAP Techology RIG
    PS: You closed the thread so I have to add some details here. The FOX runtime is hardcoded to 0RSPLS_FORMULA. Therefore, 0RSPLS_FORMULA cannot be copied to a custom planning function type as you suggest.
    Edited by: Marc Bernard on Feb 23, 2011 3:36 PM

  • Fox formula for actual/plan data  - Planning function

    Hello,
    I am working on the following scenarios for developing a  planning functions for a monthly forecast.
    It is rolling montly forcast where user starts the planning in Jan and he has to show the actaul value for the month of Jan and blank values for the remaining 11 months of the year and then the user post his new forecast values for the remain 11 of the year(to replace initial balnk values) so that the data will be saved to real time cube with version v108
    In Feb, Jan & Feb months has to show the act values and remaining 10 months has to show last month forecast data. The the user may revise the forecast for the 10 months and then we have to write the data to the real time cube with version v208
    In Mar, Jan, Feb and Mar has to show the actual values and the reamining 9 months has to show the last month forecast and then users may revise the forecast data and then i have to write back to the cube with version v308.
    I want to automate this process for all the months and all years without manual intervention. So, i decideed to write a fox formula for this scenario with following draft code.
    I will get the fy period & year as a variable values and then take the system date into the variable
    for each fy period
    if the fy perio <= sys date.
      {version, infoprovider,value type,amount} = {0,act cube, 10, 0amount)
    else
    {version, infoprovider,value type,amount} = {result,plan cube, 20, 0amount)
    endif.
    result will be calculated on the separe routine and populated here
    case (fy per)
    when 01.
    concatenate v1 with fy+2(2) into y
    result = v1+y
    when 02.
    concatenate v2 with fy+2(2) into y
    result = v2+y
    when 03.
    concatenate v3 with fy+2(2) into y
    result = v3+y
    when 04.
    concatenate v4 with fy+2(2) into y
    result = v4+y
    when 05.
    concatenate v5 with fy+2(2) into y
    result = v5+y
    when 06.
    concatenate v6 with fy+2(2) into y
    result = v6+y
    when 07.
    concatenate v7 with fy+2(2) into y
    result = v7+y
    etc...for all months
    So, can you please let me know the best way to implement this (either by fox formuls or exits)...your inputs are really appreciated
    Thanks,
    Srini
    Edited by: srini on Mar 28, 2008 12:05 PM

    Hi Srini,
    If I 've understood u r problem clearly ,You have to write two Fox Functions and you can call exit variable in both to check the system date.
    I think first you should create exit varriable which would return the system date,use the same variable in data slice to lock the data till current period.
    After that create one fox restricted with any one version where you can copy the data for planning .for example:-
    1)First Fox:-
    DATA TIM_FISCPER TYPE 0FISCPER.
    TIM_REF_FISCPER = VARV(ZEXIT_FPER).
    Get the last month
    version using modlue or any another logic .(v108)
    FOREACH TIM_FISCPER.
        IF TIM_FISCPER <= TIM_REF_FISCPER.
      {0amount,version(001) ,tim_fiscper} = {0amount,version(000) ,tim_fiscper}.
    else.
      {0amount,version(001) ,tim_fiscper} = {0amount,version(v108) ,tim_fiscper}.
         endfor.
    Its just n example use the granularity according to the requirement.
    2)Second fox would save the changed plan data:-
    DATA TIM_FISCPER TYPE 0FISCPER.
    TIM_REF_FISCPER = VARV(ZEXIT_FPER).
    Get the last month
    version using modlue or any another logic .(v208)
    FOREACH TIM_FISCPER.
        IF TIM_FISCPER > TIM_REF_FISCPER.
      {0amount,version(v208) ,tim_fiscper} = {0amount,version(001) ,tim_fiscper}.
         endfor.
    Here ZEXIT_FPER is an exit variable created using cmod and populated with system date.
    Hope it will helpful for u.
    Rgds,
    Indu

  • How can I create a Text-Input Field in BexAnalyzer for a Planning Function

    Hello,
    i want to create a pre calculation(contribution accounting) for Materials in BI-Integrated Planning. These Materials aren't in the master data. So I create a new Info Object for pre calculated materials with only a material-number as key and a text-description.
    Now I want to write a Exit-Function, which creates new materials in these Info Object. The user should start this function in a planning application in BexAnalyzer. There the user should have the possibility to enter a text-description for the new material. How can I create such a Text-Field in BexAnalyzer and how can I read this text filed in a planning function (exit).
    Thanks in advance

    Hi Jürgen,
    you can create a parameter for this in the exit function and a variable for the parameter. In BEx Analyzer then create a button for the planning function; in the button parameterization use VAR_NAME = , i.e. use an Excel formula here to get the value from an Excel input field.
    The command range should be some 'hidden area' in your Excel sheet.
    But may be you don't need this. Use a characteristic without master data. Then ensure that that the query uses the option 'key' as display. In new lines you can then enter the key, the system creates a SID on the fly (but the text table will not be updated). In this scenario you may take text also from the key. May be you can update the text table (online or in batch) by simply using function modules from function group RSNDI_MD (not released by SAP).
    But observere that the system in BI Planning reads only the active version, i.e. if you change something on the fly the changes may not be visible.
    Regards,
    Gregor

  • 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

  • How to call standard planning function in FOX code

    Hi,
    I want to call std. Distribution by reference planning function in FOX formula. Through CALL FUNCTION std planning functions can not be used.
    My requirement is that because I need to execute this distribution function thousands of times with different variable values so I am planning to pass the values for these variables through FOREACH loop.
    Any help is appreciated.
    regards
    Amit Jain

    Hi Amit,
    unfortunately calling a planning function inside a planning function is not possible. And calling a planning sequence from a planning sequence is not supported as well.
    I think is is better if go for a more complex FOX or an exit-function if the planning function needs to be executed online.
    Another way some customers are using to met similar requirements is writing a z-program which determines the variable values in a loop (e.g. by reading a z-table). Inside the loop they set the variables (in the variable container) and when this is done execute a planning sequence for the current variable setting. The whole thing could be executed e.g. in a process chain.
    Hope this helps ...
    Regards Matthias Nutt
    SAP Consulting Switzerland

  • Problem while executing planning function

    Hi All,
    I have created an input ready query which takes input for a key figure growth percentage and applies it to another key figure volume to get the new volume. For this calculation I have written a FOX formula:
    Initially all the records have growth per as zero. When I enter the value for one DU and transfer it, it is calculating the new volume, but if I enter the per for a new record, it is calculating for this record and also recalculating the volume based on already entered  growth percentage for the previous DU. PFB the example:
    Scenario 1:
    User enters the value for the first time
    Season      Brand                 DU                         Growth percentage         Volume               New vol
    SS09            ADIDAS        TENNIS                               10%                       100                   110
    SS09            ADIDAS         KIDS                                    0%                       500                   500
    Now he clicks the u2018TRANSFERu2019 button to which the planning function is assigned for performing the calculation. The volume changes to u2018110u2019.
    Scenario 2:
    User enters the value for next DU.
    Season      Brand                 DU                Growth percentage         Volume     New vol                
    SS09            ADIDAS        TENNIS                               10%             100             121
    SS09            ADIDAS         KIDS                                  10%              500             550
    So how can i avoid this problem of recalculating. Also if this data is saved ino the cube and the report is executed for the next time and if it picks up the growth percentages and recalculates again, it will be wrong planning.
    Request your inputs as how to solve/avoid this problem.

    Hi,
    you can use three keyfigure. The percentage value, the original value and the target value.
    target value = original value * percetage value / 100.
    Hope this helps ...
    Regards Matthias Nutt
    SAP Consulting Switzerland

  • Execution of a planning function with the used dimension values in a crosstab

    Hello,
    would like to execute planning functions within Design Studio but I don't really know how I combine this execution with the used dimension values in a crosstab for the .
    Here the requirement:
    3 Planning functions which should use the same filter (all values of all dimensions in the crosstab) and which should run one after another:
    // open data slice
    PF_1.execute();
    // generate combinitions
    PF_2.execute();
    // close data slice
    PF_3.execute();
    Many thanks in advance.
    Kind regards,
    Tobias

    Hi Arun,
    in general it is not possible to nest planning functions. The inner function would update the data in the plan buffer without the outer function knowing about it. Also the inner function might be on a different aggregation level which would make things very tricky.
    Alternatively you can include ABAP logic into a FOX formula:
    http://help.sap.com/saphelp_nw70/helpdata/en/47/94eb78b6394befe10000000a42189d/frameset.htm
    Or just create the complete logic in one ABAP planning function type.
    Regards,
    Marc
    SAP NetWeaver RIG

  • IP: Use of input-ready variable in planning function

    Dear all,
    I'm using an input-ready variable for fiscal year (0P_FYEAR) in my input ready query. It's used for restricting my columns.
    I'd like to use the value of this variable in my planning function and I use VARV for that in the FOX.
    However, when implementing the pl.function as a button in the BEx Analyzer I need to fill in the static parameters the VAR_VALUE_1 with a value.
    If I delete this line from the static parameters my plfunction end swith an error.
    I like this value of course to be filled with value of fiscal year entered by the user when starting the query.
    Does anybody know how to solve this?
    Kind regards, Harjan

    Hi Johannes,
    Thanks for all the useful information!
    Another thing on using PF.
    I've got two workbooks with different queries but using <u>same</u> filter.
    Queries differ in keyfigures, but are on same cubes in MultiProvider.
    I can run the workbooks simultaneously: no locks occur.
    I've got two planning functions that make calculations on the keyfigures entered in the workbook.
    However when I inplement the PF's in both workbooks and assign the dataprovider as filter, i do get locks!
    So, the PF also uses the same filter, but doesn't take into account the different keyfigures.
    In the fox-formula i don't have the option to make conditions on keyfigure values (field keyfigname), neither to enter them in the filter.
    Do you have any thoughts on this?
    <u>Second</u> point:
    When i filter on a navigational attribute and execute the pf, i get errors on my pf.
    It states it can't find the value of the characteristic to which the navigational attr belongs. F.i. when i filter on nav attr 'customer group'  (attr of char 'customer') and execute pf, the system gives an error on the value of char 'customer'.
    It states: value of characteristic customer is notincluded in the selection.
    Any thoughts on this one?
    Thanks in advance!
    Kind regards, Harjan

  • Regading Variable in Planning function in integrated Planning

    Hello All,
    I have a requirement where i have to run a planning function to copy the data of one key figures to other.
    But i need a input screen before execution of this planning function where i could insert the characteristics values for which i do not need this Planning Function to be Executed.
    Please let me know how to do this.
    I think this can be done using input ready variables.But i m not sure.
    Regards,
    Pratighya

    Hi All,
    With regards to the above issue, I have similar question and appreciate any inouts.
    Used a Planning function - type FORMULA
    Function needs an Input parameter to execute.
    So I want to create a Planning IP variable and assign it to the function call in my formula.
    From the Front end WAD/BEX - want to exceute the planning function by passing inpur value.
    Regards
    Rao

  • Planning functions IRR, NPV in BI + SEM 6.0

    Hi everybody!,
    I'm looking for the older financial functions like IRR, NPV calculations. Somebody told me that they are not longuer in BI unless you install SEM 6.0.
    We've just install it this morning but the functions doesn't appear when I try to create a planning function of type formula (in financial functions).
    does it needs any customizing after SEM 6.0 install? are these funcions in another location?
    thanks for your help!

    Dear Thomas,
    A customer asked for the upgrade of SEM from 3.5 to 6.0. Do you have any documents especially on testing for CPM.

Maybe you are looking for

  • Can anyone help with AirPrint

    Can anyone help with this. I recently purchased an Airport Express unit to connect to my Canon MP 640 via USB. I was advised to download the airport utility app for both my iPad and iPhone, which I did. I also downloaded it on my pc. I have connected

  • How to run tools from a java archive (jar file)

    I used to run Multivalent from http://multivalent.sourceforge.net/ but am now getting error messages like this: Exception in thread "main" java.lang.NoClassDefFoundError: tools/pdf/Impose This happens even when I'm in the directory containing the jar

  • Action fo Request Type 21: Role Approval.

    Hello All, Can anyone please share what would be the Actions associated with the Request Type 21: Role Approval? I seached a lot in BRM dosuments but its not mentioned anywhere. The tasks that I would like to do from this is the changesor creation fo

  • CS2 Help Center Won't Open

    All of a sudden I can't open the Photoshop Help Center. When I click on help, a tab appears in the bottom tray, yet, it opens nothing. Clicking on it produces no result. What am I missing here? Thanks! :-)

  • New to CC Photoshop and LR

    Hi I Have just installed Photoshop under the Photographers monthly package which includes LR My question is can I install Bridge via the CC and if so does it cost me more? Thank you Peter