Help required in exectuting the Planning Function

Hello All,
I need help in fulfilling the following requirement through planning functions in IP:
I have 4 keyfigures as Actual Value,Actual Quan,Plan Value and Plan Quan.
Now what I want to do is to COPY:
1)Actual Value>>> PLan Value and then revaluate the Plan Value
2)Actual Quan>>  Plan Quan and then revaluate the Plan Quan
How to Copy the values?????
Characteristic available are
1) RDS
2)Dealer
3)Material  Category

The way you post that, it looks very much like "Do my work for me". Nobody around here likes that kind of post, they consider it lazy and selfish. But perhaps you didn't mean it that way? Why don't you explain what you have done and what parts of it you are having problems with. Explain those problems in detail.

Similar Messages

  • Calling a class in the planning function

    HI All,
        I have to create a a button in WAD for IP which calls a class (I believe there is no standard exit planning function in IP) , I believe the best way to do this is using a planning function formula which calls this class and automate using a planning sequence, so that I can use this sequence to the button. My problem is I am not much familiar with Fox formula...can somebody give some sample code to call the calss.
                 call 'clss' I hope will work.....Do i Need to declare any variables if you could give full code it would be helpful. Would it be required that I need to create a function module and call the class in it.
    thanks
    kasi
    Edited by: Kasi Viswanath Aurangabad on Apr 18, 2011 1:57 PM

    To run a planning sequence by clicking a button you have to write a code like this to link the button to planning sequence  :
    <bi:BUTTON_GROUP_ITEM name="BUTTON_GROUP_ITEM_4" designheight="23" designwidth="300" >
                                        <bi:BUTTON_LIST type="ORDEREDLIST" >
                                            <bi:BUTTON type="COMPOSITE" index="1" >
                                                <bi:CAPTION value="<write button name here>" />
                                                <bi:ACTION type="CHOICE" value="INSTRUCTION" >
                                                    <bi:INSTRUCTION >
                                                        <bi:EXEC_PLANNING_SEQUENCE_SIMPLE >
                                                            <bi:PLANNING_SEQUENCE value="<Planning sequence technical name" text="Planning Sequence description" />
    </bi:EXEC_PLANNING_SEQUENCE_SIMPLE>
                                                    </bi:INSTRUCTION>
                                                </bi:ACTION>
                                            </bi:BUTTON>
                                        </bi:BUTTON_LIST>
                                    </bi:BUTTON_GROUP_ITEM>
    Also, in the planning function , you can call a function module using the following statements :
    Call function module
    importing
    exporting
    I am not sure about calling a class .

  • How to link the variable entry with the planning function execution

    Hi All,
    I am new to IP , we have a requirement where the user enters the value 2008 for a variable year. Then we are supposed to copy the same combinations for the next four years against which the user will be able to input the key figure values. But i have only 2008 data in the cube, so i need to generate new records for the same characteristic combinations as present for 2008 for the next four years. I am planning to use a copy function for this but how can i trigger this planning function once the user enters the value for the year variable. I want the planning function to get executed once the user clicks OK after the variable entry. Request your valuable inputs on the same.

    Hi Tilak,
    for this u have an option of executing the planning sequence when the web template loads ie. after the variable screen.
    open the WAD.
    go to the properties of Web Template web item. Under the section standard action of the webtemplate, we have a n option to include planning functions under action before rendering.
    If u include your planning sequence in this this will get executed every time the layout loads.
    guess this is usefull to u.
    Regards.
    Shafi.

  • Variables from workbook are not visible in the Planning function

    Hi,
    We're using a workbook with a bunch of queries in it. Every query has a lot of variables declared that are calculated based on two input ready variable that users are required to fill the first time.
    Everything works as expected until the save data function is called, which in turn calls the planning function.
    Here, the user exit variable try to be recalculated again. Unfortunately, this planning function loses track of the two input ready variables that were on the workbook, so the user exit variables have no values.
    Can you please suggest a method so that:
    a) The user exit processing in the planning function "sees" the two input ready variables
    b) The user exit processing is not triggered in the planning function and it's taking the already calculated values
    Let me know if you require further information.
    Best regards,
    George

    Hi,
    the variables in the filter of the query lives in one variable container and the variables of the filter of the planning sequence live in another variable container. They do not know each other. You need to establish a relationship between them. Usually this is done via variable binding for regular variables. For exit variables the variable binding can be done as written above.
    If as in your case you have variables in the filter of the query and you want to use their values in the variable of the planning sequence than you need to store the values somewhere where you can retrieve them in the exit. This can be in a e.g. in shared memory or in the session memory. To do this you need to spend an extra exit variable in the filter of the query. The exit variable reads the real values and stores it somewhere (e.g. shared memory, global parameter of a function group, a class member or something similar). Now as the variable value is stored it can be read in the implemenation of the exit variable in the filter of the planning sequence.
    In total we have 3 variables:
    Variable 1 contains the value which the user keys in and exists in the filter of the query.
    Variable 2 reads variable 1 and stores the value. It needs to be defined in the filter of the query as well.
    Variable 3 reads the stored value and needs to be defined in the filter of the planning sequence.
    Regards Matthias Nutt
    SAP Consulting Switzerland

  • Module Function not being called by the planning function

    Hi all,
    I am having a problem with the MF assigned to the planning function of my planning level. It's not being called when executing the layout using Planning Folder. This action is suppose to be taken when saving the entries of the layout (I have made the proper setting in planning folder)
    When I execute the planning folder and manually introduce data in the layout and save, the MF is not executed but data is loaded in the infocube anyway. I have put a breakpoint in the MF but never stops, as never has been called.
    Please, could anyway let me know his comments?
    Best Regards!
    José.-

    Hi Jose,
    There could be two reasons why the FM might not work.
    1. The level selections for which the FM runs and the Layout gets executed might different and the FM is not getting the Requisite Data set to read data from .
    The solution could be check the level selections and execute the FM .Also after you save the Data ,please do an F9 to check the display message.Chekc if oyu Function module is reading any data set at all(ifit says 0 read ,0 changed statement i mean).
    2. The second reason could be that the FM is not initialised at all.To initialise the FM you need to write an initialisation FM and place it in the INIT part of the Exit function.This creates dummy records if your data set is initially empty which is the case here.Here is a sample code you might get reference from .
    Create one dummy combination
    If we don't do this, the upload won't work since the second function
    will not be executed at all in case no transaction data exists so far.
    The combination must be a subset of the planning level!
    " >>> BEGIN INSERT
      IF l_count = 1.
        EXIT.
      ELSE.
        CLEAR ls_chas.
        CLEAR: ls_chasel.
        LOOP AT ito_chasel INTO ls_chasel.
          CLEAR: ls_charng.
          READ TABLE ls_chasel-t_charng INTO ls_charng INDEX 1.
          IF sy-subrc = 0.
            ASSIGN COMPONENT ls_chasel-chanm OF STRUCTURE ls_chas TO <f>.
            IF sy-subrc = 0.
              <f> = ls_charng-low.
            ENDIF.
          ENDIF.
          CLEAR: ls_chasel.
        ENDLOOP.
      ENDIF.
      " <<< END INSERT
      COLLECT ls_chas INTO lto_chas.
      eto_chas = lto_chas.
    ENDFUNCTION.
    Hope this helps.
    regards
    Sai Vishnubhatla

  • How to create the planning function through the process chain

    Hi guys,
    currently i am running some planning function in fortend so it is time consuming now customer want the run the planning function through the process chain any body having the idea please give me.

    Hi,
    this is standard functionality, cf.
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/45/946677f8fb0cf2e10000000a114a6b/frameset.htm
    Regards,
    Gregor

  • Best way to test the planning function in BI7.0

    Hi
    How can we test the planning function other than the wizard.Can it be tested by creating an input ready query on the aggregation level whcih is created on the top of multiprovider joining real time info cube and standard info cube.
    Kind Regards,
    Sarah

    Testing the planning function in planning modeler and planning wizard is the fastest and the best way to verify the planning function.
    In planning modeler, you have the option of executing the planning function in trace mode which helps you to track the changes before and after execution.
    Moreover, if you want to test the PF on the input ready query, you gotta wait until the query is successfully  created in BEx or WAD.

  • Validation(in the planning function) is failing to read fiscal year

    Gurus,
    We created a fox formula in the planning function for validating budget data so that users do not profile above the allowed budget. We declared variables correctly as follows:
    **Declare variables*
    **++++++++++++++++++++++*
    *DATA CURRBUD TYPE F.*
    *DATA DIFF TYPE F.*
    *DATA HEADF TYPE F.*
    *DATA FUNDF TYPE F.*
    *DATA FUNDFX TYPE F.*
    *DATA HEADF1 TYPE F.*
    *DATA HEADF2 TYPE F.*
    *DATA HEADF3 TYPE F.*
    *DATA HEADFX TYPE F.*
    *DATA FUNDF1 TYPE F.*
    *DATA FUNDF2 TYPE F.*
    *DATA FUNDF3 TYPE F.*
    *DATA FUNDF4 TYPE F.*
    *DATA FUNDF5 TYPE F.*
    *DATA FUNDF6 TYPE F.*
    *DATA FUNDF7 TYPE F.*
    *DATA FUNDF8 TYPE F.*
    *DATA FUNDF9 TYPE F.*
    *DATA FUNDF10 TYPE F.*
    *DATA FUNDF11 TYPE F.*
    *DATA FUNDF12 TYPE F.*
    *DATA KVERSION TYPE 0VERSION.*
    *DATA KYEAR TYPE 0FISCYEAR.*
    *DATA KGRZHEAD TYPE ZGRZ_HEAD.*
    *DATA PAREA TYPE AREA____.*
    *FOREACH KGRZHEAD, KYEAR.*
    **Original Budget*
    *HEADF1 = {0AMOUNT,KYEAR,CRBU,0,KGRZHEAD,FUNDPROF }.*
    **Supplementary Budget*
    *HEADF2 = {0AMOUNT,KYEAR,CRBU,SUP,KGRZHEAD,FUNDPROF }.*
    **Returns Budget*
    *HEADF3 = {0AMOUNT,KYEAR,CRBU,RET,KGRZHEAD,FUNDPROF }.*
        *HEADFX = HEADF1 + HEADF2 - HEADF3.*
      *FUNDFX =*
    *{0AMOUNT,KYEAR,HEAD,0,KGRZHEAD,FUNDPROF}.*
    FUNDFX = FUNDFX + FUNDF.**
    *ENDFOR.*
    **Calculate the Difference between the Approved budget*
    **And the Funding profile amount for the year*
    **++++++++++++++++++++++++++++++++++++++++++++++++++*
    *DIFF = HEADFX - FUNDFX.*
       *IF DIFF > 0.*
          *MESSAGE I025(ZGRZ) WITH  KGRZHEAD HEADFX FUNDFX DIFF.*
      *ELSEIF DIFF  < 0.*
         *MESSAGE E026(ZGRZ) WITH  KGRZHEAD DIFF HEADFX FUNDFX .*
      *ELSEIF DIFF = 0.*
         *MESSAGE W027(ZGRZ) WITH  KGRZHEAD HEADFX FUNDFX.*
      *ELSE.*
         *MESSAGE E028(ZGRZ)WITH KGRZHEAD.*
         *EXIT.*
    ENDIF.
    A variable FYEAR has been created for characteristic 0FISCYEAR. This formula has been working correctly last year but when we changed the variable to point to 2011, for this year, it refuses to read that variable. The system is giving the followign error message:
    Value of variable Fiscal year (FYEAR) cannot be determined
    This only experienced in production, but in Develoment and QAS the function is working properly.
    Kindly assist,
    Tatenda
    K
    Edited by: tatenda chigwedere on Jan 4, 2011 4:13 PM

    Hi,
    I think you are talking about IP / BPS. Please post your thread to the relevant forum. This forum is for BPC on NW platform.

  • Executing the planning function while opening the web interface

    hello all,
    I have created a planning area based on multiprovider.This multiprovider is based on two transactional cube ie,COPA cube and Cost Center cube.
    This planning area is meant for enabling integrated planning.One plans in COPA cube and other plans in Cost Center cube the income statement gets planned based on this two.
    I selected planning items in multiprovider layout to display the income statement.The layout is as follows:
    <b>PlanningItem</b>  <b>Amount</b>
    Net Sales<b>:</b>    9.000,00 INR   (This comes from COPA)
    Sales Overheads<b>:</b> 200,00 INR  (This comes from Cost Center)
    Depreciation<b>:</b> 200,00 INR (This comes from Cost Center)
    Other Expenses<b>:</b> 300,00 INR  (This comes from Cost Center)
    EBIT<b>:</b> 0,00 INR
    Interest Income<b>:</b> 0,00 INR
    Interest Expense<b>:</b> 0,00 INR
    Operating Income<b>:</b> 0,00 INR
    Taxes<b>:</b> 0,00 INR
    Now EBIT planning item is to be calculated from the planning items as follows:
    EBIT = Net Sales-Sales Overheads-Depriciation-Other Expenses
    For this i have created a planning function which calculates EBIT.This function works properly,there are no issues in it.
    My problem is that i want this function to be executed as soon as i open the web interface for my planning application and the result should be as follows:
    <b>PlanningItem</b>  <b>Amount</b>
    Net Sales<b>:</b>    9.000,00 INR   (This comes from COPA)
    Sales Overheads<b>:</b> 200,00 INR  (This comes from Cost Center)
    Depreciation<b>:</b> 200,00 INR (This comes from Cost Center)
    Other Expenses<b>:</b> 300,00 INR  (This comes from Cost Center)
    EBIT<b>:</b> 8.300,00 INR
    Interest Income<b>:</b> 0,00 INR
    Interest Expense<b>:</b> 0,00 INR
    Operating Income<b>:</b> 0,00 INR
    Taxes<b>:</b> 0,00 INR
    Can anybody suggest how to go about this problem?
    Thanks in advance.
    regards,
    Yogesh

    Hi Yogesh,
    as far as i know, there is no standard functionality for that purpose, but there are workaround for it.
    1. Modify the BSP Application.
       Go to SE80 --> Repository Browser --> BSP Application --> your WI name --> page with flow logic --> double click on page1.htm --> Event handler tabstrip --> on the drop down selection press F1 --> add a function module that call you BPS function in specific event (e.g: OnInitialization).
    2. Use WI-Exit Class / WI-Extention (ABAP OO).
    Here you need to create sub class from Class: CL_UPWB_BSP_APPL, and assign the class to your WI. You can then add a function module that call you BPS function in method:
    2.1. Load --> performed only once on intial execution of WI.
    2.2. Initialisation --> called once for each server response.
    2.3. Dispatch --> called at each action and also for each WI component.
    You can see further information in SAP how to paper:
    How to Validate manual input in WEB planning application, New BPS-Features delivered with SAP BW 3.5, etc.
    You can call your BPS function with BPS API FM (See F.Group: UPC_API)
    But there is also more easier way to realize your ebit calculation. If you define your EBIT calc. manually in layout (define with manually defined Lead column). With this way, You will always get your EBIT analog with inputed values.
    Then you add your EBIT calc.function to Layout Component in WI in property: 'Function After Data Change'.
    Best Regards,
    Suan Liono

  • How can I get/set the vaule of a varibale in the planning function

    Hi All,
    in the fox I can get the value of a variable using VAR(), but How can I get/set it in a normal planning function?
    any proposal would be very appreciated.

    Hi,
    Call following functions 
    1. To get the current value of a planning variable call funtion
    API_SEMBPS_VARIABLE_GETDETAIL by passing Area and variable name
    2. To set the value of a variable call function
    API_SEMBPS_VARIABLE_SET  and pass planning area name and variable name.
    Award the points if thsi solves your purpose.
    Regards,
    Deepti

  • Help required in understanding the flow of control in working with EJB 3.0

    *1. Can anyone help me in understanding the flow after getting an object of InitialContext in using Stateless/Stateful in EJB 3.0 from client i.e. what we are getting in the step Object ref=jndiContext.lookup("CalculateBean/Remote) .*
    *2. What is the use of INITIAL_CONTEXT_FACTORY*
    *3. PROVIDER_URL*
    *4. Java.naimg.factory.url.pkgs*
    *5. why org.jboss.naming and org.jnp.interfaces separated by semi colon.*
    *6. Why we dont require INITIAL_CONTEXT_FACTORY, PROVIDER_URL and Java.naming.factory.url.pkgs if the client is a web client.*
    Properties p=new Properties();
              p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
              p.put(Context.PROVIDER_URL,"jnp://localhost:1099");
              p.put("java.naming.factory.url.pkgs","org.jboss.naming:org.jnp.interfaces");
              Context jndiContext = new InitialContext(p);
         Object ref = jndiContext.lookup("CalculateBean/Remote");
    Calculate c = (Calculate)ref;
    int sum=c.add(3,4);
    System.out.println(sum);
    Thanx in advance........

    Annotations can also be processed at run time using the core reflection API (java.lang.Class & java.lang.reflect.*), so you might want to explore down that path. I have no idea how JBoss actually does it, but annotation processing at build time and core reflection at runtime are the two most obvious possibilities.
    Bruce

  • Help required in implementing the algorithm

    Actually I am brand new to the java programming, and i need some help to implement the algorithm below in java.
    I have the dataset required for the execution,
    Can any body please help me?
    Input: (1) a source database D,
    (2) a min support,
    (3) a min confidence,
    (4) a set of recommended items Y
    Output: a transformed database D, where rules containing
    Y on RHS will be hidden
    1. Find large 1-item sets from D;
    2. For each hidden item y �� Y
    3. If y is not a large 1-itemset, then Y := Y &#8722; {y};
    4. If Y is empty, then EXIT;// no AR contains Y in RHS
    5. Find large 2-itemsets containing items in Y from D;
    6. For each y �� Y {
    7. For each large 2-itemset containing y {
    8. Compute confidence of rule U, where U is a rule likex �� y;
    9. If confidence(U) �� min conf, then { //Calculate # of transactions required to lower the confidence of U
    10. Calculate iterNumConf = _|D|&#8727;(supp(xy) &#8722; minconf &#8727;supp(x))_;
    //Calculate # of transactions required to lower the support of U
    11. Calcualte iterNumSupp = _|D|&#8727;(supp(xy)&#8722; min supp)_;
    12. Calculate k = minimum (iterNumConf, iterNumSupp);
    13. Calculate |TR| = |xy|; //|TR|: # of transactions inTR
    14. if k > |TR|
    15. Can not hide U;
    16. else {
    17. Find T kR = first k transactions that contain xy;
    18. Sort T kR in ascending order by the number of items;
    19. for i = 1 to iterNum do { 20. Choose the first transaction t from T kR ;
    21. Modify t so that y is not supported, the RHS(U);
    22. |xy| = |xy| &#8722; 1; // update support count of xy
    23. confidence(U) = |xy|/|x|; // update confidence
    24. Remove and save the first transaction t from T kR ;
    25. }; // end for iterNum
    26. }; // end if confidence(U)
    27. }; // end of each large 2-itemset
    28. Remove y from Y;
    29. } // end of for each y
    30. Output updated D, as the transformed D;

    The way you post that, it looks very much like "Do my work for me". Nobody around here likes that kind of post, they consider it lazy and selfish. But perhaps you didn't mean it that way? Why don't you explain what you have done and what parts of it you are having problems with. Explain those problems in detail.

  • Help! Howto use the join function in a query with select distinct ?

    Hi!
    I have 2 tables. I want to select only 1 painting of each artists.
    select distinct idartist
    from tbl_artworks
    where blah blah blah
    order by rand()
    how does the "join" function work for add: name, lastname, title, image and much more... i try... but i fail...
    tbl_artists
    idartist
    name
    lastname
    1
    Paul
    Gaugain
    2
    Vincent
    Van Gogh
    3
    Pablo
    Picasso
    tbl_artworks
    idartwork
    idartist
    title
    image
    1
    1
    days of gods
    image1.jpg
    2
    2
    sunflower
    image2.jpg
    3
    3
    Dora maar au chat
    image3.jpg
    4
    2
    Sky
    image4.jpg
    5
    3
    La vie
    image5.jpg

    Getting a single random image for each probably requires a combination of sql and cf.  It would take someone smarter than me to do it with sql alone.  I would probably try something like this:
    1.  Run a database query that gets all the images from all the artists.
    2.  Run a Q of Q that gets a distinct list of artist ids.
    3.  Loop through that list and run a Q of Q to get all the images for that artist.
    4.  Still in that loop, use randrange (1 to the recordcount) to select a random record from your Q of Q

  • Help required in getting the header details.

    Hi All ,
    In my first WDA , I am showing the header details of Purchase Order for a input parameter  in table
    and now I want to show the items details for that particular PO on lead selection of the the PO details
    in my second application . How can I achieve the desired functionality .
    Please help , any pointers regarding this ..
    Thanks in Advance.

    Hi ,
    U need tto get the URL of the called application through method
    construct_wd_url and generate the popup window for the second application with the above URL .
    in ur first app , crate an event on lead selection of the table and write the following piece of code :
       DATA:
          w_url   type string,
          w_value type string.
             call method cl_wd_utilities=>construct_wd_url
            exporting
            application_name              = u2018 u2018 // here specify the name of the called application
          importing
            out_absolute_url              = w_url.
       * make the Value type compatible that has to be passed with the URL
      w_value = lv_ebeln.
    * Attach the parameters and its value with the URL that
    * have to be passed to the 2nd application
      call method cl_http_server=>append_field_url
        exporting
          name  = ' '   // input parameter here
          value = w_value
        changing
          url   = w_url.
    * generate a popup window for the 2nd application with the above URL
      DATA lo_window_manager TYPE REF TO if_wd_window_manager.
      DATA lo_api_component  TYPE REF TO if_wd_component.
      DATA lo_window         TYPE REF TO if_wd_window.
      lo_api_component  = wd_comp_controller->wd_get_api( ).
      lo_window_manager = lo_api_component->get_window_manager( ).
      lo_window         = lo_window_manager->create_external_window(
                       url = w_url ).
      lo_window->open( ).
    Now in the doinit of ur called application , u can get the value for that particular input parameter
    [code}
    DATA:
      lv_param type string.  
    lv_param = wdr_task=>client_window->get_parameter( ' u2018  ).  // paramtr name
    Now select the appropriate values in internal table for this and bind it to ur context node ..
    I hope this helps..

  • Can anyone help me trouble shoot the "search" function in Outlook?

    After rebuilding my Outlook identity, the search function is no longer working. I have rebuilt again, restarted computer, etc. Are there other tips?

    Well lets see if I can help.
    Connect like this:
    Red---->Aud_fpout_L
    Jump with Red---->Aud_ret_L
    White---->Aud_fpout_R
    Jump with white---->Aud_ret_R
    I think is... Spiral---->Aud_gnd this you have to share with the mic that is also Spiral
    As for the mic .... MIC power---->Aud_mic_bias
    MIC-IN---->AUD_mic
    And I think that's it....
    Be well....

Maybe you are looking for

  • Combining closed paths in Illustrator CS3

    Dunno how simple this one is, but I have two closed paths of the same colour that overlap to appear as one object when printed. I'm trying to combine these two paths into one object so that if I apply a stroke weight to it, it outlines the whole obje

  • Redundant Hub and CAS roles for exchange server

    Hello , currently we have 2 mailbox servers , 1 DAG server and 1 HUB,CAS server ( hub and cas roles in same server ) i am looking to have a backup server incase the hub CAS server goes down  ..  or to have a redundant server for HUBCAS  incase if it

  • Why did auto-save didn't save my entire project?

    Hello, I recently had some problems with auto-save. I was working on a project when my computer stoped working and I had to force shutting down. However, my Premiere CC is set to auto-save every 15 minutes. When I went to see the auto-save files I di

  • Middleware ECC / CRM

    Hi, I have one doubt, i´ve downloaded some best practices teaching how to configure middleware to synchronize business partners between ECC and CRM, and one of the steps is permit  customizing on the client, but this client is not suppose to be custo

  • Comment ouvrir automatiquement un type de fichier avec un programme?

    Bonjour a tous, J'ai développé un programme et j'aimerais pouvoir ouvrir automatiquement des fichiers avec mon soft. Que le type de fichier soit associé automatiquement à mon programme (Comme les .doc avec word etc...) et comment ça se code? Suis-je