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.

Similar Messages

  • 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

  • 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 .

  • 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

  • What does this Adobe Muse error message mean: MuseJSAssert: Error calling slector function:SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with orign "null" from accessing a cross-origin frame.

    So what is up with this error message in Muse?
    MuseJSAssert: Error calling slector function:SecurityError: Failed to read the ‘contentDocument’ property from ‘HTMLIFrameElement’: Blocked a frame with orign “null” from accessing a cross-origin frame.

    This is a genuine security error generated by the browser when viewing a page with iFrame content locally.
    Please refer to Zak's reply in the following thread: https://forums.adobe.com/message/6496180#6496180
    Cheers,
    Vikas

  • The MDX function CURRENTMEMBER failed because the coordinate for the attribute contains a set

     
    How to handle this error: The MDX function CURRENTMEMBER failed because the coordinate for the attribute contains a set. when executing MDX query:
    SELECT (
    { [Measures].[Amount]}
    )ON COLUMNS,
    [OrganizationUnits].[Description].[Description].MEMBERS,
    [OrganizationUnits].[IsCURRENT].[IsCURRENT]
    ) ON ROWS
    FROM
    (SELECT [OrganizationUnits].[Description] ON 0
    FROM
    [CubeName]
    WHERE(
    {[OrganizationUnits].[Description].&[Unit1],[OrganizationUnits].[Description].&[Unit2]}
    Thanks!!

    Hi Arth81,
    Please try the query below.
    WITH MEMBER MEASURES.IsCURRENT AS [OrganizationUnits].[IsCURRENT].[IsCURRENT].CURRENTMEMBER.NAME
    SELECT
    { [Measures].[Amount],MEASURES.IsCURRENT} ON COLUMNS,
    {[OrganizationUnits].[Description].[Description].MEMBERS,
    } ON ROWS
    FROM
    (SELECT [OrganizationUnits].[Description].MEMBERS ON 0
    FROM
    [CubeName]
    WHERE(
    {[OrganizationUnits].[Description].&[Unit1],[OrganizationUnits].[Description].&[Unit2]}
    Regards,
    Charlie Liao
    TechNet Community Support

  • 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.

  • Planning function to copy  version A of year 2007 to Version B of 2008 - IP

    I have a copy planning function which has a variable on from version and to version and it works fine.I can copy.So version to version for the same year works fine.
               Another requirement is to copy Version A of year 2007 to version B of year 2008.For this in the planning function I made version,year and calyearmonth all 3 as changeable and have variables on from version from year and to version and to year.I don't have a variable on calyearmonth.
              I run the query for version B and year 2008 and CALYEARMONTH 1/2008-12/2008 and it returns empty results as there is no data for version B for year 2008.then I execute the planning function to copy data from version A and year 2007 to version B and year 2008.I am getting the following error "CalyearMonth is not included in selection".I ran the query for 1/2008 - 12/2008.I didn't understand this.
            In the planning function filter I don't have any filter for calyear and calyear month.But it is there in the query.
    Thanks

    Hi Siva,
    Since you do not have the calmonth as the change characteristic in your plannning function.The values would be copied to year 2008 with month as #.
    So there would be no values for months of 2008 and hence you are getting that error.
    You need to copy the month figures also for data to be seen in the report.
    Assign points if useful.
    Ajay

  • Is there any way to turn off the download function in safari offline reading list?

    Is there any way to turn off the download function in safari offline reading list?

    Don't think so.  The point of the offline reading list is to allow you to read it later without going online.  It has to download the content to make this possible.

  • How to capture the data if i am using two Fiscal year variant

    Hi
    My client is required need two type financial statement one is as per company act and calender year.  Other one is company act and fiscal year.
    regarding we have maintain two fiscal year variant one is assigned to company code as per calender yr other one is assigned to Spl.Pr G/L. but how to capture the financial data from company code in case we are using two fiscal yr variant.
    Rekha

    Hi
    U cannot maintain two two fiscal year varaint for a company code in GL. As said by u maintain one fiscal year varaint for GL and the other one for FI SL. When u post FI document in GL automatically the same will flow into FI SL for the corressponding period.
    For example ur Fiscal year varant is April to March in GL
    and Callendar year in FI SL and u do a posting in April 1 (period 1) in GL then it post it to  4th period in FI SL automatically since April is the 4th period in FI SL since it uses K4 as the fiscal year variant.

  • Display the 0 fiscper3 (posting period)and 0fiscyear (fiscal year) in bw re

    Hi I need a quick help, please resolve my issue in step by step. Report is required to display the 0 fiscper3 (posting period)and 0fiscyear (fiscal year) in bw report. I have a  0fiscper Fiscal Yr / Period in my datasource and infosource but not 0fiscper3 (posting period)and 0fiscyear (fiscal year). Can any body help me how to add the abap code to convert the 0fiscper Fiscal Yr / Period to display 0fiscper3 (posting period)and 0fiscyear (fiscal year in report or how to add by abap code 0fiscper3 (posting period)and 0fiscyear (fiscal year)in datasource. User will select the value of 0FISCYEAR
    Fiscal year during the execution of report. please help
    will reward all points.
    thanks
    soniya kapoor

    Hi Soniya,
    Y don't you enhance ur datasource with these fields?
    Anyways the workaround could be add 0FISCPER3 and 0FISCYEAR in ur data target, and write ABAP code for it in transformation.
    Map 0FISCPER with both the fields, and now click rule type of both the fields independently.  Select rule type as routine.
    0FISCPER stores data in format YYYYPPP, so you have to write code accordingly.
    Likie in 0FISCPER3 assign last 3 digits of 0FISCPER to 0FISCPER3 and first 4 to 0FISCYEAR.
    Suppose u have pne temp variable with name fis_yp which stores value of 0FISCYEAR. For getting period from it you have to write:
    period = fis_yp+4(3), ( 3 characters from 4 place)
    and similarly for year,
    year = fis_yp+0(4),  ( 4 charaters from 0 place)
    I hope now u can write code for it easily?
    KJ!!!

  • 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

Maybe you are looking for