Error With Customer Exit Variable

Hi,
I need To Create Customer Exit For Text Variable based on Two Input Variable values.
can any one correct my code Code is written below based on quarter and Fiscalyearvarient.
I have to get calmonth Text value.
I am getting the error as : "I_T_VAR_RANGE" is a table without a header line and therefore has no
Component Called "0PERIV".
DATA :  l_s_range TYPE rsr_s_rangesid,
        loc_var_range LIKE rrrangeexit.
IF i_step = 2.
CASE i_vnam.
   WHEN 'ZTXT_CML' .
      CLEAR: l_s_range.
      LOOP AT i_t_var_range INTO L_S_VNAM WHERE vnam = 'ZQUAR' AND vnam = '0periv'.
        IF i_t_Var_range-0PERIV = 'IE'.
          IF i_t_var_range-ZQUAR = '1'.
            l_s_range-low = 'APRIL'.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
          ELSEIF i_t_var_range-ZQUAR = '2'.
            l_s_range-low = 'JULY'.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
          ELSEIF i_t_var_range-ZQUAR = '3'.
            l_s_range-low = 'OCTOBER'.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
          ELSEIF i_t_var_range-ZQUAR = '4'.
            l_s_range-low = 'JANUARY'.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
          ENDIF.
        ELSEIF i_t_var_range-0PERIV = 'K4'.
          IF i_t_var_range-ZQUAR = '1'.
            l_s_range-low = 'JANUARY'.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
          ELSEIF i_t_var_range-ZQUAR = '2'.
            l_s_range-low = 'APRIL'.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
          ELSEIF i_t_var_range-ZQUAR = '3'.
            l_s_range-low = 'JULY'.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
          ELSEIF i_t_var_range-ZQUAR = '4'.
            l_s_range-low = 'OCTOBER'.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
          ENDIF.
        ENDIF.
          APPEND l_s_range TO e_t_range.
      ENDLOOP.
  ENDCASE.
ENDIF.

Hi Supraja,
You would have to declare I_T_VAR_RANGE internal table as the table with an header line.
This you will find in data declaration segment.
ie
DATA : I_T_VAR_RANGE type <table name> WITH HEADER LINE.
or
Create a work area like l_s_var_range.
Use work area while performing operations in your code and later append the record to the table i_t_var_range.
DATA : L_S_VAR_RANGE type i_t_var_range.
Also, i_step = 3 is the right one, because you are processing the customer exit based on the values of the user input of two variables.
Modified code below.
DATA : l_s_range TYPE rsr_s_rangesid.
DATA : L_S_VAR_RANGE type i_t_var_range,
loc_var_range LIKE rrrangeexit.
IF i_step = 3.
CASE i_vnam.
WHEN 'ZTXT_CML' .
CLEAR: l_s_range.
LOOP AT i_t_var_range INTO l_s_var_range WHERE vnam = 'ZQUAR' AND vnam = '0periv'.
IF l svar_range -0PERIV = 'IE'.
IF l_s_var_range -ZQUAR = '1'.
l_s_range-low = 'APRIL'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '2'.
l_s_range-low = 'JULY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '3'.
l_s_range-low = 'OCTOBER'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIFl_s_var_range -ZQUAR = '4'.
l_s_range-low = 'JANUARY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ENDIF.
ELSEIFl_s_var_range -0PERIV = 'K4'.
IF i_t_var_range-ZQUAR = '1'.
l_s_range-low = 'JANUARY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '2'.
l_s_range-low = 'APRIL'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '3'.
l_s_range-low = 'JULY'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ELSEIF l_s_var_range -ZQUAR = '4'.
l_s_range-low = 'OCTOBER'.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
ENDIF.
ENDIF.
APPEND l_s_range TO e_t_range.
ENDLOOP.
ENDCASE.
ENDIF.
Hope it helps,
Best regards,
Sunmit.

Similar Messages

  • Error creating Customer Exit variable, please help

    Hi Experts,
    This is the scenario, I need to obtain the convertion rate from the table TCURR in order to convert several currencies to USD, so I created a Customer Exit variable that gets the Period and based on that obtains the conversion rate for the last day of the given month from TCURR, the problem is when I created the Formula Variable to get the value from the Customer exit variable I got the following error:
    'ZVARREGEXIT' ALREADY EXISTS; SELECT A DIFFERENT NAME.
    But in not using that name anywhere on my variables creation, Im doing something wrong? How can I check wheres is that variable being used.
    Ideas, comments are always welcome and appreciated.
    Regards.

    Hi Ed,
    Open Admin Workbench (RSA1) and choose Transport Connection --> Object Types --> Query Elements --> Variable --> Select Objects. Find the variable of interest and transfer it back to the main screen, then right-click and choose 'Display Description'. That will show you a "where used" list of queries, workbooks, etc.
    Next, you can use the previous technique to open one of the queries, find the variable in the query, and determine which InfoObject it is associated with.
    Hope this helps!
    Regards,
    Saurabh

  • Authorization (rsecadmin) with customer exit variable

    Hello,
    I need to maintain authorization on 0CALMONTH with a customer exit variable.
    0CALMONTH is "authorization relevant"
    I created a variable of type "customer exit" : ZVAR001 (this variable is OK, I checked its value in a query)
    I created a new authorization object with 0CALMONTH = $ZVAR001.
    When I run my query I have a message due to authorization error.
    If I change my authorization object by replacing my variable ($ZVAR001) by a constant value I have no authorization problem.
    I don't understand why...
    Error logs don't help me to solve my problem : I have the following message "Message EYE007: You do not have sufficient authorization" and system just says I have "0CALMONTH  I EQ $ZVAR001 " but doesn't precise values under variable ZVAR001
    Thanks for your help

    Indeed problem was in costumer exit because I used condition with "I_STEP". Since I have delete my condition I have no authorization problem with my variable....

  • Problem with customer exit variable in BeX Query

    Hi All,
    We have created a customer exit variable in a query and populated with few patterns in customer exit.
    My query has to bring all the records where the address line is containg the patterns passed through customer exit. Here the query is not working as expected.
    It is bringing the values where the address line is exactly same as the pattern and not bringing the records where the pattern is part of the address line.
    For example: Pattern passed in customer exit = 'HOSPITAL'
    The record where address line = 'HOSPITAL' is shown in the rpeort, where the record with address line = 'HOSPITAL ROAD' is not shown in the report.
    I would appreciate your help on this.
    Regards,
    Rakesh

    Hi Diogo,
    Below is the code I am using in the customer exit.
    SELECT * FROM zae_tt_pbuild INTO TABLE gt_pbuild.
          IF sy-subrc = 0.
            LOOP AT gt_pbuild INTO gs_pbuild.
              CONCATENATE '*' gs_pbuild-pbuild '*' into lv_pattern.
              ls_range-low = lv_pattern.
              ls_range-sign = lc_sign_i.
              ls_range-opt = 'CP'.
              APPEND ls_range TO e_t_range.
              CLEAR: ls_range,
                     lv_pattern.
            ENDLOOP.
          ENDIF.
         ENDIF.
    I have tried using '%' instead of '*' aswell but the result is same.
    Thanks,
    Rakesh

  • Problem with customer exit variable that is input ready as well

    Hello all,
    I'm facing an issue with a customer exit variable that again has been defined as input ready. I'm not sure why it is working incorrectly and I#m wondering if this is a bug or if I do s.th. stupid.
    The problem is that in the exit program ZXRSRU01 this varibale does not go into the program code I have prepared for this variable. I have added entry points for all three i_step values 1,2,3, but the code will never be touched and in debugging I can see that it simply pypasses the code for this variable.
    I have tried to enter a value or to leave it blank, no difference.
    When I run another test by just using a customer exit variable w/o input ready capability, then I have no issue, the exit does exactly what I have coded.
    Does this mean, that a customer exit variable along with input readiness dows not work ?????
    You may ask why I need this variable. Well, my intention is to use the input value of this variable A to derive other values for a complete different variable B. Afterwards I want to erase the input given into variable A to have it blank.
    Any comments are appreciated
    Thanks

    Hi Heiko,
    I assume A & B variables are defined on different Characteristics. If you wish to derive B based on A, you can create the Query Characteristic Restriction on B & have a dummy RKF restricted on A whose processing is by Manual Input; where processing of B is by Customer Exit. In istep 2 you can check for B, read A & derive B. There would not be a need to blank out A since the Query would not be restricted on A - you can hide the dummy RKF from showing in the output. Just a thought.
    --Priya

  • Text Variable replace with Customer Exit Variable

    Dear Experts,
    I created a text variable based on replacementh path (instead of customer exit). The reference characteristic is same that as my customer exit Variable and replace it by Key.
    I want to replace it with already Existing Customer Exit Variable but it is not displaying in the List Box even though existing variable option is mandatory.
    Can any one Suggest me the answer for this.
    Regards
    Supraja.K

    I do not think you can select Customer Exit variable, if you see the type is selected to Char Value Variables and it is not editable.
    It would be suggested to go for Customer Exit procesing type for your text variable.
    Cheers,
    Neel.

  • Authorization with customer exit variable (CP, BT, EQ)

    Hi SDN-Experts,
    I have a question concerning the new authorization concept.
    I created an authorization for 0COSTCENTER which also contains the 3 special characters 0TCAACTVT, 0TCAIPROV and 0TCAVALID. I inserted a customer exit variable for 0COSTCENTER. The exit reads datasets from a db table which contains authorizations for the actual user. The authorizations have different formats, e.g. "1000", "1000;1200", "25*" etc.
    The internal table e_t_range is filled as followed in the exit:
      i   eq   1000
      i   bt   1000   1200
      i   cp   25*
    This does not work. It works if I only use "eq" OR "cp". But not both at the same time.
    How can I achieve to use the different authorizations in the db table for the bi authorization?
    Thanks in advance...
    Joerg

    Hi Olivier.
    Yes, the variable is defined as selection option and I did also try to use "EQ" instead of "CP".
    I tested again with another variable which is "ready for input" and is not used in an authorization. The Variable is filled in the customer exit. This is the code:
    WHEN 'ZJGR_COSTCTR_TEST'.
      l_s_range-sign = 'I'.
      l_s_range-opt  = 'BT'.
      l_s_range-low = '0000001000'.
      l_s_range-high = '0000001200'.
      APPEND l_s_range TO e_t_range.
      l_s_range-sign = 'I'.
      l_s_range-opt  = 'CP'.
      l_s_range-low = '0000002*'.
      APPEND l_s_range TO e_t_range.
    The result in the variable screen in BEx Analyzer is the following:
    1000 - 1200;0000002*;
    And it still does not work. It seems that you could not mix EQ, BT and CP. But this is exactly what I have to do with the authorization variable...
    Do you have any other tipps that I might try out?
    Thanks,
    Joerg

  • RSCRM: Query date with customer exit variable

    Hi All,
    Is there any way to run the RSCRM transaction with a query with a customer exit variable for a date characteristic?
    The issue is that the query ran ok but the variable is not being updated when the RSCRM query is running with a background job or a process chain.
    Thanks in advance
    EV

    I do not think you can select Customer Exit variable, if you see the type is selected to Char Value Variables and it is not editable.
    It would be suggested to go for Customer Exit procesing type for your text variable.
    Cheers,
    Neel.

  • Problem with customer exit variable

    HI i have created a customer exit variable to rread a table based in user input and pass it to my variable , every thing works fine but i get a waring message in my WAD saying
    RANGE-LOW for customer exit variable ZVSO_PRM corrected to #   BRAIN  746
    Does any one have any idea why is it comming
    my code is as follows
    WHEN 'ZVSO_PRM'.
    IF I_STEP = 2.
    DATA: BEGIN OF ZPROD_MODEL OCCURS 0,
    I_PROD LIKE ZCURR_PM_T-/BIC/ZPRODMOD,
    END OF ZPROD_MODEL.
    DATA: BEGIN OF ZREGIO_TABLE OCCURS 0,
    REGION LIKE ZCURR_PM_T-/BIC/ZREGION,
    END OF ZREGIO_TABLE.
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZREG02'.
    CLEAR L_S_RANGE.
    ZREGIO_TABLE = LOC_VAR_RANGE-LOW.
    APPEND ZREGIO_TABLE.
    ENDLOOP.
    LOOP AT ZREGIO_TABLE.
    SELECT /BIC/ZPRODMOD FROM ZCURR_PM_T INTO TABLE ZPROD_MODEL WHERE /BIC/ZREGION = ZREGIO_TABLE-REGION.
    APPEND ZPROD_MODEL.
    ENDLOOP.
    SORT ZPROD_MODEL.
    CLEAR L_S_RANGE.
    LOOP AT ZPROD_MODEL.
    L_S_RANGE-LOW = ZPROD_MODEL-I_PROD.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'EQ'.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    ENDIF.

    Could it be that the code doesn't find any value in ZCURR_PM_T table for the specified input region?

  • Problem with customer exit variable on date range

    Hi All,
    I have customer exit variable on date range. In the selection screen it has to give the week range  as a default (05/21/2009 to 05/27/2009).
    Earlier its working fine and from yesterday onwards it is not working properly. yesday onwards default date range was not displaying in selection screen.
    Wht would be the problem.
    Thanks in Advance

    Hi Ashish,
    I checked every thing what u told earlier. Every thing is fine.
    And another thing is
    I have routine in infopackage level. Since day before yesterday it was working fine and yesterday onwards it was not working.
    Eg: budat will take the data based on routine for the week. But yesterday onwards it is not picking up the data.however I have the data in datasource for the week.
    Wht would be the problem. I debuged the code and its working fine.
    Sekhar

  • Error in customer exit variable

    Hi All,
    My requirement is end user will enter fiscal year and in report out put I need to display fiscal year periods.
    For this I have created two variables
    1.Fiscal year-Manual Input/Default value-Single value-Mandetary-Variable is ready for input.
    2.FiscalyearperiodCustomer ExitInterval-Optional
    DATA : fiscyear1 TYPE numc4,
          i_fiscper_high TYPE /bi0/oifiscper.
    DATA: datein LIKE  sy-datum .
    CMOD Code is as below
    CASE i_vnam.
    WHEN  'ZFISCVAR'.
        LOOP AT i_t_var_range INTO loc_var_range
                             WHERE  vnam = 'ZFISCYER'.
          CLEAR l_s_range.
          fiscyear1 = loc_var_range-low(4).
          CONCATENATE fiscyear1 '001' INTO i_fiscper_high.
          l_s_range-low = i_fiscper_high.
          l_s_range-high = i_fiscper_high.
          l_s_range-sign = 'I'.
          l_s_range-opt  = 'BT'.
          APPEND l_s_range TO e_t_range.
        ENDLOOP.
    But we are getting error after entering fiscalyear
    error message --Value 2009001 for uesr exit variable xxxx is invalid.
    Regards
    Albaik

    Hi All,
    Below is the code and there is no problem with code but there was some problem with Fiscal year varient and solution is we went to source system -right click-Transfer global settings---- and maintained  Fiscal year varient 
    DATA: l_s_range TYPE rsr_s_rangesid.
    DATA: loc_var_range LIKE rrrangeexit.
    DATA: datein LIKE  sy-datum .
    DATA: L_S_RANGE_2 TYPE RSR_S_RANGESID.
    DATA : I_FISCPER_HIGH TYPE /BI0/OIFISCPER ,
           I_FISCPER_LOW TYPE /BI0/OIFISCPER.
    DATA : FISCYEAR1(4), FISCYEAR2(4),CALMONTH TYPE /BI0/OICALMONTH .
    WHEN  'ZFISPERIOD'.
        LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
                             WHERE  VNAM = 'ZFISYEAR'.
          CLEAR L_S_RANGE.
          FISCYEAR1 = LOC_VAR_RANGE-LOW(4).
          CONCATENATE FISCYEAR1 '001' INTO L_S_RANGE-LOW .
             L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT  = 'EQ'.
          APPEND L_S_RANGE TO E_T_RANGE.
        ENDLOOP.
    ENDCASE.

  • Help with Customer exit variable

    Hi Guys,
         I need your urgent help. I have a requirement where I need to create a variable (on CALDAY) in a report which should use the input value given for another variable (created on CALMONTH). To put in words more clearly, CALMONTH is a variable that is mandatory for input but the CALDAY variable should not appear on the selection screen. I was told that I should write a customer exit to make this happen. So can someone please explain me the process of creating a customer exit and give me the code.
    WHEN CALMONTH values are selected to be 07/2006 - 08/2006... CALDAY values should be 07/01/2006 to 08/31/2006.
    CALMONTH is user entry, mandatory, range and multiple selection variable.
      Early reply is highly appreciated and duely rewarded. Please let me know if I am not clear about the requirement. Thanks a bunch in advance.

    Let us say, user enters multiple ranges for the month, you would want corresponding date ranges for the same, right?
    data : w_date like sy-datum.
    case I_VNAM.
    when 'ZCALDAY'. " Calday var
    loop at i_t_var_range into LOC_VAR_RANGE         
         where iobjnm = 'ZCALMONTH'.
      WA_RANGE-SIGN = 'I'.     
      wa_date+2(6) = loc_var_Range-low.
      wa_date+0(2) = '01'.
      wa_range-low = wa_date.
      if loc_var_range-high eq space.
        WA_RANGE-OPT = 'EQ'.     
      else.
        wa_range-opt = 'BT'.
        wa_date+2(6) = loc_var_range-high.
        wa_date+0(2) = '01'.
        wa_date = wa_date + 31.
        wa_date+0(2) = '01'.
        wa_date = wa_date - 1.
        wa_range-high = wa_date.
       endif.
       append wa_range to e_t_range. clear wa_range.
    endloop.
    endcase.
    This should do.

  • Variable with customer exit

    Hello,
    I have created a query with customer exit variable.this variable calculates cumulative month from the beginning of the year. this variable depends on another regular variable 0PCALMON (single value, mandatory). i also use this variable in the query to show the month itself.
    <b>the problem is as follow:</b>
    until yesterday the 0PCALMON variable pop up normally, but now the variable doesn't pop up  at all!
    Does anyone have an idea?
    Thanks,
    Maya

    Hi,
    The variable may be personalized with some value.
    <b>To remove the personalization for a user:</b>
    Step 1: RSA1 -> Search for ODS 0PERS_VAR
    Step 2: Manage -> Contents ->selective deletion
    Step 3: Put the user to remove the personalization
    http://help.sap.com/saphelp_nw04/helpdata/en/01/42c73c13b0ce5be10000000a114084/content.htm
    Regards
    Happy Tony

  • Default value of BeX customer Exit variable not Displayed in WeBI??

    Hello Experts,
    We are stuck with a problem where WeBI report is created on top of BeX query and we are not able to see the default value of Bex Customer exit variable in WeBI run. Here is the complete scenario:
    1. One restricted KF is created in BeX, restricted with Customer exit variable on net Due date. And this variable is mandatory, ready for input, and Default value in calculated is user exit as current Week's Monday.
    2. So, by default KF data should be restricted to Monday of current week, if user does not change this value.
    3. Now, WeBI report is created on top of this Bex query, and all is working fine, i.e. we are getting variable as Prompt in WeBI, but Default value is not shown while Running the Webi Report.
    So, need your inputs on the same, if default values from BeX in WeBI is supported or not? If yes, why this is happening, and how to resolve it?
    Please notice, the restrcition is in KF only, it is not a separate restrcition on Net Due date in Filter area or in Defualt area of BeX
    and we are on SAP BW 7.1 and BOXI 3.1 SP4.
    Regards,
    Vipul
    Edited by: VIPUL GOYAL on Nov 23, 2011 9:44 PM

    Hi,
    See 1285993 - Support of Customer Exit Variables from BEx query into WebIntelligence via OLAP universe
    WebI will prompt when executed, but the default values calculated by the user exit  - do not appear.
    Note: If the BEx variable has property 'ready for input' set / enabled, then its WebI prompt shows ok, but no default value appears.
    Cause
    This behaviour expected 'by design' (in the context of the product's current limitations) as explained in the online guide below:
    Please refer to Chapter 7, page 44, document link here: http://help.sap.com/businessobject/product_guides/boexir3/en/xi3_sap_olap_universes_en.pdf
    Characteristic variable > processing type > Customer Exit  is "Supported, without user entry"                                                                               
    -->  This should be understood as meaning "User will not be shown a prompt"
    regards,
    H

  • Error with a customer exit variable

    I have a customer exit variable in a characteristic (0fiscyear). Also I have a manual input variable on the characteristic 0fiscper. The customer exit collects the four digits of the year that the user introduces a screen for the characteristic 0fiscper. Collect the value correctly and in the development system does not give error, but in the production system said that "the value 2008 (for example) is not valid for 0fiscyear characteristic". The two systems are at the same level of patches and queries are identical. Any idea why this error??
    Thanks and regards
    Ricardo

    No value at all behind 0fiscyear ?

Maybe you are looking for

  • How do I disable iMessage on my MacBook pro?

    I have purchased a MacBook Pro for Christmas and whilst viewing different applications I couldn't close the message application unless I typed in my Apple id password. Now, I am recieving iMessages at not only my iPhone and iPod but my mac too. How c

  • 2nd Attempt at a Solution

    This is a second posting of this question, in hopes that someone that can help me missed it the first time: I recently had a bad situation with an external HD. The drive "crashed" and was not mountable among other problems. After paying to get the dr

  • Gl account heirarchy

    Hello, we have a heirarchy for gl accounts in our BI system replicated from R3.The datasource providing data to it is GSBH_HIERARCHY_TRANSFER_SETS. Now, we are getting an error when we are running the report.When we run the report based on this Gl he

  • Problem Using Multiple With Statements

    I'm having a problem using multiple WITH statements. Oracle seems to be expecting a SELECT statement after the first one. I need two in order to reference stuff from the second one in another query. Here's my code: <code> WITH calculate_terms AS (SEL

  • My silver 80 gb ipod classic is part

    Hi everyone. When I got this ipod in 2011 it was shown as part # 661 4514 on the apple store invoice and says MODEL A1238 on the back. It is silver with a silver back and 80 GB and when I put the serial number in to look up the manual the 160 GB manu