Cannot determine a value for an exit variable in the Formula fn w/p empty

Hi All,
We have an exit variable Z_EX_AR_VAR, the would read a hierarchy node input variable (Z_HN_AREA), which is furthur based on a hierarchy input variable (Z_HR_AREA), and wouuld return the first leaf of it.
We have implemented a input ready query based on this exit variable and it is getting the first node and is input ready and saves the data to the database.
It works well in the query when we have filtered the characteristic with the hier and hier node and the exit variables.
We need to use the same value to be used in the Fox function.
As per the requirement, the Fox function has to process the zero (empty) records.
So, we have customized formula function to process emptry records.
And in the function of type formula function that processes empty records, we have used the following statement.
DATA AR type ZAREA.
AR = VARI ( Z_HN_AREA, HIENM=Z_HR_AREA, 1).
We are getting the following error message:
Cannot determine a value for the variable Z_HN_AREA.
Planning function ended with errors.
What is that we are doing wrong here. Is it with the 'Process Empty Records' function that cannot read the variable.
How come this variable is working in the query and it is not working in the FOX.
We have done the variable to variable binding in the WAD also. Still the same problem.
Any ideas? Thanks in advance.
Best Regards,
- Shashi
Thanks in '

Hi All,
Michael Wolf from SAP confirmed that we cannot use VARiable read functions in the customized Formula function that processes the zero (empty records) as he spoke to SAP AG about the issue.
Hence we have made a work around by creating a valid record using a dummy key figure in the Custom Formula function that processes empty records so that in the next step, the regular Formula function would get executed, where we could access the variable values by using VARV, VARI functions.
Thanks,
- Shashi

Similar Messages

  • Value for user-exit variable  is invalid

    Hi Gurus,
    My Value for a Fiscal Year Prd returns a invalid value for the 12th month of each year( for Example 12/2004, returns the error "Value 200313 for User-exit variable is invalid.
    This is the code that is being used.
    *Rolling 12 months for entered month
    when 'ZCALM12'.
          clear: v_mth, v_yr.
          REFRESH E_T_RANGE.
          CLEAR L_S_RANGE.
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
                   WHERE VNAM = 'ZCALMON'.
            exit.
          endloop.
          v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
          v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT = 'BT'.
          concatenate v_yr v_mth into L_S_RANGE-LOW.
          L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
          APPEND L_S_RANGE TO E_T_RANGE.
    Thanks in Advance.

    Hi Ravi,
    when 'ZCALM12'.
    clear: v_mth, v_yr.
    REFRESH E_T_RANGE.
    CLEAR L_S_RANGE.
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZCALMON'.
    exit.
    endloop.
    <b>-->> Here, you are not checking any thing.</b> <i>On which logic you are reducing year by one and increasing month by 1..?</i>
    v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
    v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
    -->><i>IF month is 200512 you will get output from above code is :</i> please check.
    v_yr = 2005 - 1 = 2004
    v_mth = 12 +1 = 13.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    concatenate v_yr v_mth into L_S_RANGE-LOW.
    L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
    APPEND L_S_RANGE TO E_T_RANGE.
    Try to debug the code by keeping break point after When. and execute the report, you will be debugging mode.
    Hope it Helps
    Srini

  • Abort Could not determine a value for variable 0DAT from the authorizations

    Hi All,
    I encountered an error '/ Abort Could not determine a value for variable 0DAT from the authorizations\' when executing my query on a multiprovider in BW 3.5.
    Can anyone help me in finding a solutionn to this issue.
    Thanks,
    Kartik.

    Hi Kartik,
    I am sorry as that note is for NW2004s. Please check if 0DAT variable installed from a business content? if not then I think thats the cause of the problem.
    Hope this helps,
    Bye...

  • Error in the ABAP Code for Customer Exit Variable

    Could you please update me what is the wrong with the below ABAP Code developed for Customer Exit Variable in BW
    i created a Variable (ZVWKNO) of Customer Exit,Single Value ,Mandatory and Variable is ready for input
    In CMOD i had written the below Code:
    When 'ZVWKNO'.
    DATA: WEEK(2) TYPE N,
    WEEKNO(2) TYPE N.
    IF i_step = 1.
    l_st_date = SY-DATUM.
    CALL FUNCTION 'DATE_GET_WEEK'
    EXPORTING
    DATE = l_st_date
    IMPORTING
    WEEK = l_fn_week.
    CHECK sy-subrc = 0.
    WEEK = l_fn_week+4(2).
    If WEEK 0.
    WEEKNO = WEEK - 1.
    l_s_range-low = WEEKNO.
    l_s_range-sign = k_sign_inclusive.
    l_s_range-opt = k_option_equals.
    APPEND l_s_range to e_t_range.
    ENDIF.
    ENDIF.
    But when i execute the query the default value is not populated with Week-1 No in the variable screen
    Please update me what went wrong
    Thanks

    Case ZVWKNO.                "write this with out comments
    When '1'.              "write the value that needs to equal with value in varaible ZVWKNO after when in sungle quotes
    DATA: WEEK(2) TYPE N,
    WEEKNO(2) TYPE N.
    IF i_step = 1.
    l_st_date = SY-DATUM.
    CALL FUNCTION 'DATE_GET_WEEK'
    EXPORTING
    DATE = l_st_date
    IMPORTING
    WEEK = l_fn_week.
    CHECK sy-subrc = 0.
    WEEK = l_fn_week+4(2).
    If WEEK 0.                                    "check this Week Minimum is '01' and Maximum '52'
    WEEKNO = WEEK - 1.
    l_s_range-low = WEEKNO.
    l_s_range-sign = k_sign_inclusive.
    l_s_range-opt = k_option_equals.
    APPEND l_s_range to e_t_range.
    ENDIF.
    ENDIF.
    Prabhudas

  • Retrieve values of other exit variable

    hi gurus
    i have to build an input ready query where on rows u have:
    funds center          cost center         profit center     account
    and on columns:
    0fiscper3
    0amount
    the user enter on the variable screen this:
    0comp_code
    0fiscyear
    funds center
    currency
    0account
    So just using the funds center I have to show cost center (matched with funds center on a Z Characteristic that I ve created) and the profit center for every costcenter (consulting 0costcenter on 0profit_ctr attribute).... I m using 2 exit variables  on cmod ( one for getting costcenter and other for getting profit center), but when i have to feed profit center variables I have to retrieve the values for costcenter that were got for this variable... but how can I do this? Can I retrieve the values of other exit variable when filling profit center variable?
    By the way I can use relation characteristic over this infocube because there already is an abap program that makes some logic over this infocube.
    some suggest? point will be assigned
    regards

    hi Ashish Tewari :
    That s the way I was doing...
    in ur example, are u considering 'ZCOST_CTR' as other exit variable? Because it s an exit variable that I fill through funds center variable whis user input...
    If its not, what do u suggest? 
    here s my code, it works but it match every costcenter with all profit centers , which is wrong, every costcenter hast just 1 profit center...
    ** VARIABLE FOR 0costcenter
      WHEN 'ZECCVAR045'.
        IF i_step = '2'.
          READ TABLE i_t_var_range INTO l_s_var_range WITH KEY vnam = 'ZECCGE001'.*this variables contains funds center
          centro_gestor = l_s_var_range-low.
          SELECT * INTO TABLE it_cenges_ceco
          FROM /BIC/MZECFM012
          WHERE objvers   = 'A'
          AND funds_ctr = centro_gestor.
          LOOP AT it_cenges_ceco INTO ls_cenges_ceco.
            l_s_range-sign = 'I'.
            l_s_range-opt  = 'EQ'.
            l_s_range-low  = ls_cenges_ceco-/BIC/ZECFM012.
            APPEND l_s_range TO e_t_range.
          ENDLOOP.
        ENDIF.
    ** VARIABLE for profit center for each cost center
       WHEN 'ZECCBE010'.
        IF i_step = '2'.
          BREAK-POINT.
          CLEAR it_cenges_ceco.
          CLEAR ls_cenges_ceco.
          CLEAR centro_gestor.
          READ TABLE i_t_var_range INTO l_s_var_range WITH KEY vnam = 'ZECCGE001'.
          centro_gestor = l_s_var_range-low.
          SELECT * INTO TABLE it_cenges_ceco
          FROM /BIC/MZECFM012
          WHERE objvers   = 'A'
          AND funds_ctr = centro_gestor.
          LOOP AT it_cenges_ceco INTO ls_cenges_ceco.
              CLEAR ls_ceco.
              ceco = ls_cenges_ceco-/BIC/ZECFM012.
              SELECT SINGLE * INTO ls_ceco
              FROM /BI0/MCOSTCENTER
              WHERE objvers   = 'A'
                 AND costcenter = ceco
                 AND dateto = '99991231'.
              l_s_range-sign = 'I'.
              l_s_range-opt  = 'EQ'.
              l_s_range-low  = ls_ceco-PROFIT_CTR.
              APPEND l_s_range TO e_t_range.
          ENDLOOP.
    *     BREAK-POINT.
        ENDIF.
    ENDCASE.

  • Passing multiple single values in Customer Exit Variables

    Hi,
    I have one requirement to Pass multiple single values in Customer Exit Variable.
    If the user gives 2010 i need to get value previous fisacal year(2009),if its 2009, we need to get 2009.
    Just requirement is like how to pass multiple single values?
    Thanks.

    Hi..
    For this create a variable- Types of variable= Characteristics Value> Processing type as Customer Exit-->Reference Char as Fiscal year..
    Try this code..
        when 'xxxx'.
          DATA: lv_zp0003_month(2) TYPE n,
                  lv_zp0003_year(4) TYPE n.
          CLEAR: lv_zp0003_month, lv_zp0003_year.
          lv_zp0003_month = sy-datum+4(2).
          lv_zp0003_year = sy-datum(4).
    If the month is January the year is set to previous year
          IF lv_zp0003_month = '01'.
            lv_zp0003_year = lv_zp0003_year - 1.
           l_s_range-low = lv_zp0003_year.
    Else the year is set to actual
          ELSE.
            l_s_range-low = lv_zp0003_year.
          ENDIF.
          IF l_s_range-low = l_s_range-high.
            l_s_range-opt = 'EQ'.
          ELSEIF l_s_range-high IS INITIAL.
            l_s_range-opt = 'EQ'.
          ELSEIF l_s_range-low LT l_s_range-high.
            l_s_range-opt = 'BT'.
          ENDIF.
          l_s_range-sign = 'I'.
          APPEND l_s_range TO e_t_range.
    Hope this helps.
    Regards.
    AKG

  • Where do I write the code for customer exit variable?

    Hi Gurus,
    Can anyone tell me where and the procedure that I have to follow to get to the include ZXRSRU01 where I can write customer exit variable code.
    I know its written in ZXRSRU01, but in my system it seems like its not active or does not exist. How do I get to start working in this include for customer exit variables?
    Any help is appreciated. Thank you.
    Regards
    Reddy

    hi Reddy,
    variable exit use enhancement RSR00001 not RSAP0001. EXIT_SAPLRRS0_001.
    try to follow some steps in 'how to' doc related to this, and sample code may useful for you
    https://websmp206.sap-ag.de/~sapdownload/011000358700002762582003E/HowToDeriveVariableValue.pdf
    https://websmp206.sap-ag.de/~sapdownload/011000358700002765042003E/HowToVerifyVariableInput.pdf
      INCLUDE ZXRSRU01                                                   *
      DATA: L_S_RANGE TYPE RSR_S_RANGESID.
      DATA: LOC_VAR_RANGE LIKE RRRANGEEXIT.
      CASE I_VNAM.
      WHEN 'CUMMONTH'.
        IF I_STEP = 2.                                  "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
                  WHERE VNAM = 'MONTH'.
            CLEAR L_S_RANGE.
            L_S_RANGE-LOW      = LOC_VAR_RANGE-LOW(4)."low value, e.g.200001
            L_S_RANGE-LOW+4(2) = '01'.
            L_S_RANGE-HIGH     = LOC_VAR_RANGE-LOW.   "high value = input
            L_S_RANGE-SIGN     = 'I'.
            L_S_RANGE-OPT      = 'BT'.
            APPEND L_S_RANGE TO E_T_RANGE.
            EXIT.
          ENDLOOP.
        ENDIF.
      ENDCASE.
    hope this helps.

  • How to save a new value for Set command variable

    I am using SET [variable = [String]] to update Set variable. It works fine. But when I restart MSDOS Prompt, I get old value for variable.
    How to save a new value for SET command variable?
    I am using Windows XP.

    And this has to do with java how?

  • Replication Error: Determination of values for application was interrupted

    Hello,
    We are setting up a CRM 5.0 system, with an ECC 5 backend. We try to replicate the condition customizing (object DNL_CUST_CND). When I look in the object monitor the object gets status green after running. But in SLG1, the log shows over 200 warnings and 3 critical errors with message:
    Determination of values for application was interrupted
    Message no. CND_MAP837
    There is not more information available and I can't find anything relating to this message here or in OSS. Does anyone have a clue what the cause of this error could be?
    Thanks in advance,
    Jeroen

    Hello Jeroen ,
    You may find  the warning message bcos all the R/3 fields may not be available in
    CRM system. thus those condtion tables may not be mapped and inactive status.Check whether the condtion tables used in ur scenario is available in active status in CRM.
    Regarding the  data exchange of condtion the follwing oss notes will be helpful:
    1. 314542.
    2. 441485 this note containst the  message relevant to you (CND_MAP837) .
    Please check the above notes and try to analyse ur issue.
    Regards
    Bala

  • Abap code for sap exit variables?

    Hi,
    i) Where can I find the abap code for SAP exit variables
    OP_KEYDT used for the net due date
    OP_KEYD2 used for the posting date
    OP_KEYD3 used for the clearing date, which are used in FI AR aging report(0FIAR_C03).
    Based on the Net Due Date, which  is key date(0NETDUEDATE),  entered by the user at runtime, the posting date and celaring date are populated.
    II) The problem is we want to simulate a similar scenario, but with key date, which user enters is based on the custom  Net Due Date(ZNETDUEDATE).And this date is populated to posting date and  clearing date variables.
    How do we acheive that.
    Thanks.

    Please tell how u solved ur issue i have the same scenario to be do.

  • Cannot determine shell type for PID 28704, UNKNOWN

    Hi All
    I am using ksh and executing a shell script, but it fails with following error
    Cannot determine shell type for PID 28704, UNKNOWN
    Please let me know if you have any solution for this
    Thanks
    Kanki

    Does the script do a ps -ef and grep for a PID, or does it look in a file for a /var/run/pid file? I would look at the script to see what it is looking for that is tied to the PID of 28704.
    You could also check to see that the script's first line has the correct shell defined.

  • Coding for Customer-Exit Variables

    Hi experts,
    We have some variables in BEX with Customer-Exits.
    I want to see the codings and i do following.
    1- Tcode u201CCMODu201D and enter u201CProject Codeu201D go tou201DComponentsu201D.
    2- Double Click on EXIT_SAPLRRS0_001
    3- Double Click on INCLUDE ZXRSRU01
    But I dont see anycoding here.
    Where should be the codings for Variables with Customer-Exits hidden?
    Do you have any idea, thank you.

    Hi,
          The Include which you are seeing is for only the customer space. This is for Customer exit variables created  by Developers. So Here if there are any routines written by the Developers will be there. Initially it will be Blank.
    If you want to See the standard SAP Exits goto SMOD.
    Regards
    Karthik

  • Any way to pass Multiple Values for a single Label in the Parameter?

    I have a Report that Contains 2 Parameters, @Customer & @Area. When trying to set up the Available Values for @Area, I'm having issues using multiple values for one Label, i.e. = "4006" Or "4610"
    One of the Filters in the Report is an Operation number, which is the [OPERATION] field, which is setup as a filter on the Tablix referencing the @Area parameter. 
    PROBLEM: I cannot retrieve any data when trying to use the ‘Or’ Operator here. If I simply put “4006” or “4610” I retrieve data, but when trying to combine it returns no data.
    Example, I need to allow a user to select ‘Chassis Incoming’, which would include data from Operations 4006 & 4610.
    QUESTION:
    Any way to pass Multiple Values for a single Label in the Parameter?
    I realize the typical solution may be to use ‘Multi-Value’ selection, but in this case we want the User to select the Area and the multiple values for Filtering will be automatically determined for them. Otherwise, they are subject to not getting
    it correct.
    I have tried several different ways, such as =”4006” Or “4610”, =(“4006”, “4610”), = In(“4006”, “4610”), etc….
    Note: We are using Report Builder 3.0

    Based on my experience, there's no way to 'intercept' the query that gets passed back to SQL Server, so a Split wouldn't work.
    Try creating either a function or stored procedure using the code below (compliments to
    http://www.dotnetspider.com/resources/4680-Parse-comma-separated-string-SQL.aspx) to parse the string: 
    CREATE FUNCTION dbo.Parse(@Array VARCHAR(1000), @Separator VARCHAR(10))
    RETURNS @ResultTable TABLE (ParseValue VARCHAR(100))AS
    BEGIN
    DECLARE @SeparatorPosition INT
    DECLARE @ArrayValue VARCHAR(1000)
    SET @Array = @Array + @Separator
    WHILE PATINDEX('%' + @Separator + '%' , @Array) <> 0
    BEGIN
    SELECT @SeparatorPosition = PATINDEX('%' + @Separator + '%', @Array)
    SELECT @ArrayValue = LEFT(@Array, @SeparatorPosition - 1)
    INSERT @ResultTable VALUES (CAST(@ArrayValue AS VARCHAR))
    SELECT @Array = STUFF(@Array, 1, @SeparatorPosition, '')
    END
    RETURN
    END
    Once created you can do things like this:
    SELECT * FROM Parse('John,Bill,David,Thomas', ',')
    SELECT * FROM (SELECT 'John' AS TestName union select 'David' AS TestName) AS Main
    WHERE TestName IN (SELECT ParseValue FROM dbo.Parse('John,Bill,David,Thomas', ','))
    This is what your SQL query would probably look like:
    SELECT OperationID, OperationName FROM dbo.Operations
    WHERE AreaID IN (SELECT ParseValue FROM dbo.Parse(@Area, ','))
    You may need to fiddle around with the Separator depending on whether SQL Server inserts a space between the comma and next value.

  • How to use customer exit variable in the report

    Dear All,
    i want to use a standard customer exit variable in the report properties.
    In the Bex Query Designer right hand bottom you will find two buttons "Properties" and "Task". Click on task you will get different option. Choose properties from there and then select "variable sequence tab".
    I need to add a standard variable there. How can i achieve it?
    Appreciate your early help.

    You need to add variable to corresponding charctertic then you can get that varaible for sorting the sequence....
    If 0CUST is the varaible then you need to assign it 0CUSTOMER then 0CUST will be available for the sequence.
    Edited by: shanthi bhaskar on Apr 2, 2009 5:41 PM

  • DB2Exception - The value of a host variable in the EXECUTE or OPEN statemen

    I want to store a XML file into database.
    To undersdande my problem, please see the code below:
    java.sql.Connection conn = null ;
    PreparedStatement ps;
    // Here I'm calling a function to get Database Connection.
    String sXmlFile = "" ; // This variable stores a XML file as String
    String sSQL = "INSERT INTO Crs_x_xml (XML_TRAN_ID,XML_MESSAGE,SUSPENDED_FLAG ) VALUES(?,?,?)";
    try {
         ps = conn.prepareStatement(sSQL);
         ps.setLong(1,1);
         ps.setBytes(2, sXmlFile.getBytes());
         ps.setString(3,"A");
         ps.executeUpdate();
         conn.close();
    } catch (Exception e) {
         e.printStackTrace();
    The Problem:
    The table Crs_x_xml that I used has three columns, the first is a int, the second is a BLOB and third is Char(1) and its in DB2 running on AIX.
    Sometimes it execute very well. But sometimes gives following error :=
    COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/AIX64] SQL0302N The value of a host variable in the EXECUTE or OPEN statement is too large for its corresponding use. SQLSTATE=22001
    I dont know whats going wrong. Plz help....
    ~Abhijeet

    Hi,
    I am using a CMP query in websphere, in which i am trying to execute a select query.
    The query is as follows:
    SELECT OBJECT(o) FROM HrTmmbrAct o WHERE o.tmmbrActC IN ( 1,2,3 ) AND o.effD BETWEEN '2000-02-11' AND '2008-02-22'
    The tmmbrActC is defined as a string in the Websphere CMP fields. I am not sure now to pass the value to it. Do we need to pass it as objects. pls help.
    Thanks
    - Giri

Maybe you are looking for