Issue with Variables using Customer Exit.

Dear All,
I have the following scenario,
I the Variable Screen I have 4 variables, lets say for eg: Plant, Material, Material Group, Calendar Day.
Then I have 4 Customer Exit Variables in the report, 2 of type Char Value Variables and 2 of type Text Variables.
I have written the customer exit code and all the 4 customer exit variables derive their values from the Calendar Day Variable from Variable Screen.
In the Variable screen if i give the values only for the variable calendar the report executes fine.
But along with Calendar Day If I enter values for any other variable the report gives the following error message - "No value could be determined for variable VAR_CALDAY_CEXIT_1." VAR_CALDAY_CEXIT_1 is the name of my one of the Customer Exit Variables.
Please let me know how to solve this problem.
Cheers,
Neel.

IF i_step = 2.
  CASE i_vnam.
       WHEN 'VAR_CALDAY_CEXIT_1'.
       LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'VAR_CALDAY_MULSIN_MAN'.
         CLEAR L_S_RANGE.
         IF SY-TABIX = 1.
         L_S_RANGE-LOW = LOC_VAR_RANGE-LOW.
         L_S_RANGE-SIGN = 'I'.
         L_S_RANGE-OPT = 'EQ'.
       APPEND L_S_RANGE TO E_T_RANGE.
       ENDIF.
       ENDLOOP.
       WHEN 'VAR_CALDAY_TEXT_CEXIT_1'.
       LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'VAR_CALDAY_MULSIN_MAN'.
         CLEAR L_S_RANGE.
         IF SY-TABIX = 1.
         L_S_RANGE-LOW = LOC_VAR_RANGE-LOW.
         L_S_RANGE-SIGN = 'I'.
         L_S_RANGE-OPT = 'EQ'.
       APPEND L_S_RANGE TO E_T_RANGE.
       ENDIF.
       ENDLOOP.
        WHEN 'VAR_CALDAY_CEXIT_2'.
        LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'VAR_CALDAY_MULSIN_MAN'.
         CLEAR L_S_RANGE.
         IF SY-TABIX = 2.
         L_S_RANGE-LOW = LOC_VAR_RANGE-LOW.
         L_S_RANGE-SIGN = 'I'.
         L_S_RANGE-OPT = 'EQ'.
       APPEND L_S_RANGE TO E_T_RANGE.
       ENDIF.
       ENDLOOP.
       WHEN 'VAR_CALDAY_TEXT_CEXIT_2'.
       LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'VAR_CALDAY_MULSIN_MAN'.
         CLEAR L_S_RANGE.
         IF SY-TABIX = 2.
         L_S_RANGE-LOW = LOC_VAR_RANGE-LOW.
         L_S_RANGE-SIGN = 'I'.
         L_S_RANGE-OPT = 'EQ'.
       APPEND L_S_RANGE TO E_T_RANGE.
       ENDIF.
       ENDLOOP.
  ENDCASE.
ENDIF.
'VAR_CALDAY_MULSIN_MAN' is the Calenday Day Variable from the Variable Screen.
It is of type multiple single values.
The User enters two dates and then the code is utilized to pass these 2 dates to 2 Char Value Variables and 2 Text Variables.
Once again, if i do not enter the values for any other variable then the report executes fine.
Cheers,
Neel.

Similar Messages

  • Text Variable using Customer Exit .

    Hello Friends. I have a requirement to create Text Variable using Customer Exit . So I created the Text Variable as "ZVRBMS" and assigned that with YTD &ZVRBMS& in the Structure of Query Desigener . so that Out put will YTD AUTO
    OR YTD RETAIL
    Now this Auto And Retail comes from Version that user choose via variable ZFIBMSVER IN User Promt. if ZFIBMSVER = 10
    then ZVRBMS = auto . and if ZFIBMSVER = 20
    then ZVRBMS = RETAIL
    Please correct my ABAP code in customer exit and let me know to make this work
    when 'ZVRBMS'.
        if I_STEP = 2.
          clear LOC_VAR_RANGE.
          loop at I_T_VAR_RANGE into LOC_VAR_RANGE.
            if LOC_VAR_RANGE-VNAM = 'ZFIBMSVER'.
          if SY-SUBRC = 0 OR LOC_VAR_RANGE-LOW = '10'.
            L_S_RANGE-LOW = 'AUTO'.
          elseif LOC_VAR_RANGE-LOW = '20'.
            L_S_RANGE-LOW = 'RETAIL'.
          L_S_RANGE-SIGN ='I'.
          L_S_RANGE-OPT  = 'EQ'.
          append L_S_RANGE to E_T_RANGE.
      endif.
      endif.
      exit.
          endloop.
    endif.
    Thanks
    Soniya

    The code should be:
    when 'ZVRBMS'.
    if I_STEP = 2.
    clear LOC_VAR_RANGE.
    loop at I_T_VAR_RANGE into LOC_VAR_RANGE.
    if LOC_VAR_RANGE-VNAM = 'ZFIBMSVER'.
    if LOC_VAR_RANGE-LOW = '10'.
    L_S_RANGE-LOW = 'AUTO'.
    elseif LOC_VAR_RANGE-LOW = '20'.
    L_S_RANGE-LOW = 'RETAIL'.
    endif.
    L_S_RANGE-SIGN ='I'.
    L_S_RANGE-OPT = 'EQ'.
    append L_S_RANGE to E_T_RANGE.
    endif.
    exit.
    endloop.
    endif.

  • Authorisation variable using customer exit

    Hi,
    how to populate a authorisation object at runtime? is it possible to have a variable etc that can be populated a runtime?
    I have a object zsales_off which has different values for different users. i need to create separate roles just to have different values for sales office for different users. i would like to avoid this by having a single role with the zsales_off getting populated at runtime.
    please give details steps with code if possible? 
    i have created the authorisation variable and am using it in the query. if i manually assign values for sales office in the role, it is working fine.
    i want to assign values at run time. i am confused with the process as such.
    few specific doubts like:
    1> the variable should be of "authorisation" processing type or "customer exit" processing type.
    2>what to use I_step=0 or I_step =1? how to use? where to use?
    3>to write a abap code or use a func module, which one? how to use.
    4> what(value) to assign for the zsales_off object in the authorisation profile?
    thank u in advance..

    Hi torsten,
    thank you. but i am afraid it doesn't give me an idea as to how to move ahead?
    i have variable with processing type "authorisation" used in many queries.
    can i use the customer exit rsr0001 for this variable? what value should be assigned in the authorisatio profile for this object?
    please give the detail process and a abap code if possible.
    thank u

  • Crystal Reports with BEx Query using Custom Exit Variable

    Hi,
    We have BW BEx Query using Customer User Exit variable to derive  the Fiscal Week for Last Year (called it VAR2) based on another user input variable Current Fiscal Week (called it VAR1).
    VAR2 is derived from VAR1 in CMOD via some codings and thus it DOES NOT have the "Variable is Ready for Input" flag ticked in the BEx. VAR1 is user input variable, so it has "Variable is Ready for Input" flag ticked in the BEx.
    When we create a Crystal Reports with the BEx Query using variable VAR2, and when we run it we got an error message saying "Failed to execute query; '[]<java.lang.UnsupportedOperationException: No Selection State Support!ZP_MI_LYPUBWEEK>'. Redesign your query or contact the data source maintainer to solve the problem".  (note: ZP_MI_LYPUBWEEK is VAR2 in this case).
    Could anyone please assist? Surely, CR supports BEx customer user exit variables like the above, right?. I also refer to the forum below as it seems to have a similar issue (except mine with an error message), but it does not provide a solution in it.
    Crystal Reports with BEx Query using Custom Exit Variable
    Thanks,
    Andy

    Hi Vibhav,
    We have the SAP Crystal Reports for Enterprise XI4.0 Version 14.0.0. Not sure if SP0 or other SP, got to check with Basis Team later.
    We tried that "mandatory" option and did not work either.
    Anyway, SAP has now come back again saying it is something they will fix it in next release/version. We got a phone call from them and a reply below to our OSS.
    23.08.2011 - 08:20:49 CET - Info for Customer by SAP  
    I have raised this issue on the Idea#s Place as an enhancement request
    on the below link:
    https://cw.sdn.sap.com/cw/ideas/5586
    This ER contains the information of including the customer exit
    variables in the report without checking the #input for ready# option.
    This ER can be considered for being implemented in the future
    versions. You can refer to SAP Note: 1515837 - How To: Enhancement
    Request Process - "Idea Place" for more information regarding the Idea
    Place.
    Cheers,
    Andy

  • How do I...Mimic Replacement Path with Query using Customer Variable Exits?

    Hello SDN:
    We are on BW 3.5 SP16.
    We are currently using a replacement path Query(RP) with variables
    to populate a variable in another Query(T).
    The problem we are having is with performance.
    The entry of variables in replacement path Query(RP) is optional (This is necessary there cannot be required values)
    When results from Replacement Path Query are small performance is fine. (e.g. 10 seconds)
    When results from Replacement path query are large performance suffers. (e.g. 1+ minutes)
    Users are free to leave the replacement path variables empty resulting in a large set of data to be replaced. This is the worst performance case.
    We would like to discover a way to conditionally execute the replacement path query. That is if users do not enter values for the replacement Query(RP) variables do not execute the replacement path query(RP).
    Does anyone know if this is possible within reason and in customer exit space?
    We have reviewed the situation from all angles and the requirement for the replacement path FUNCTIONALITY and the freedom for the user to leave variable values blank remains.
    I've been searching and reading SDN and SAP notes for about a week and do not find threads which address this situation.
    We are also exploring Customer variable exits to mimic replacement path functionality
    (different topic subject="How do I...Mimic Replacement Path with Query using Customer Variable Exits?")
    Any help will be appreciated
    Many thanks
    David Schuh

    My appologies-I posted this message with the wrong subject. I will repost it with appropriate subject.
    dave schuh

  • Text Variable through Customer Exit  using FM MONTH_NAMES_GET

    Hi Friends,
    I have a query which runs through a variable Key date(ZPDATE). (Key date may also be changed by the user).
    I have another customer exit variable(ZVNDATE1) where it reads  from the Keydate variable and it represents one month less than the key date and it holds two dates first day of month and last day of month.
    Let say: Key date(ZPDATE) = 12.03.2008
                 ZVNDATE1 = 01.02.2008 and 28.02.2008
    I have created  RKF Overdues-1 ristricted with ZVNDATE1.
    My requirement is I wan to represent this RKF Overdues-1 as Feb 2008 . In order to do that I want to create a Text variable(ZTEXT1) using customer exit .
    As I am not very good in ABAP please can anybody provide me the code for text variable:
    I am writing in the below.. but I dont know how to represent FM..etc..
    WHEN 'ZTEXT1'.
            READ TABLE i_t_var_range INTO w_var_range WITH KEY vnam = 'ZVNDATE1'.
            IF SY-SUBRC = 0.
              CLEAR l_s_range.
              l_date = w_var_range-low.
                       CALL FUNCTION MONTH_NAMES_GET'
    Please can you provide me the remaing code..
    Thanks
    Sudhakar..

    Hi Sudhakar,
    Instead what you can do is, add few more lines of code instead of calling fm.
    case 'month'.
    If month = '1'.
      desc = 'jan'.
    elseif month = '2'.
      desC = 'feb'.
    endcase.
    concatenate desc year into w_v_range-low.
    Hope that helps.
    Thanks

  • Double Role for Analysis Authorization using Variable via Customer Exit

    Hi Guys I have been implementing AA using variable via customer exit and I have run into this problem, I wonder anyone have encountered this.
    Example I have a User having 2 sets of authorization Roles
    Role 1
    Personnel Area = A, B
    Personnel Sub Area = 1,
    Role 2
    Personnel Area = A
    Personnel Sub Area = 1, 2
    And what we can derive this that is the user is able to see A-1 B-1 and A-2 BUT NOT B-2 when we run all.
    But instate when we run the report it is drawing B-2 as well as because we are entering
    Personnel Area = A,B
    Personnel Sub area = 1,2
    Any idea how to solve this?
    <removed by moderator>
    Edited by: Siegfried Szameitat on Dec 3, 2008 2:41 PM

    Hello Chee Jason,
    Are you working with version 3.5 or 7.0
    How do you specify Hierarchy variable?
    Any advise you can share is very much appreciated.
    Thanks,
    Patrick

  • Hierarchy Authorization using Variable via Customer Exit

    Hi experts,
    I am wondering if I can do Hierarchy Authorization using Variable via Customer Exit? I know it can be done on normal value authorization by putting $+(the variable name). So can we do the same for Hierarchy authorization?
    For my case I have a 0ORGUNIT and I would allow the role to access anything below its node. So do I put $VARORGUNIT in Technical Node Name and Hierarchy name as ORGEH, Type of authorization = 1 and Area of Validity = 3.
    Points will be given!
    Thanx!

    Hello Chee Jason,
    Are you working with version 3.5 or 7.0
    How do you specify Hierarchy variable?
    Any advise you can share is very much appreciated.
    Thanks,
    Patrick

  • Bex Formula using customer Exit

    Dear Friends,
    I am trying to resolve the below problem. Require your help.
    In one of the bex reports, the requirement is to provide a variable on Bill date. From the given bill date, the report should display data for 7 consecutive days.
    But the condition is that the from date should always be a saturday?
    What i have done is : In ROWS, i selected the required key figure columns
    and then, created a structure in which i created Seven New Selections and used offsets.
    so, if the user enters a specific date, the report displays seven days of the data from the given date. However, how do i restrict the user's choice to only saturdays.
    I suppose the solution lies in using customer Exit.. but could some one help me with the ABAP coding.
    I am also available on [email protected]
    Thanks for the anticipated support.

    Hi,
    You can get the Day from the current system date and put a case statement to substract 1 for sunday to get saturday
    2 for monday
    3 for tuesday
    etc
    Fuction Module : DATE_TO_DAY
    Can check this link : FM: DATE_TO_DAY

  • How to get data for current week and previous week using customer exit in Bex.

    Hi everyone,
    I have a scenario in which I need to display data for current week and previous week (based on "sy_datum" the program has to calculate current week and previous week) in Bex using  Customer exit. I have created one variable in Bex Query Designer and I have written code for the variable in CMOD. But it is not working fine, (I know that we can do the same by using offset value in Bex). Can some one guide me how to achieve my requirement using customer exit.
    Thanks in Advance,
    G S Ramanjaneyulu.

    Hi krishna,
    Thanks for your quick reply, can you have a look at my code,
    case i_vnam.
    WHEN 'ZPWK_CWK'.
    ranges : pre_week for sy-datum.
    data : start_date type DATS,
           end_date TYPE dats .
    ************FM TO GET FIRST DATE OF CURRENT WEEK ************************
    CALL FUNCTION 'BWSO_DATE_GET_FIRST_WEEKDAY'
      EXPORTING
        DATE_IN  = sy-datum
      IMPORTING
        DATE_OUT = start_date.   " WEEK FIRST DATE
    end_date = START_DATE + 6.   " WEEK LAST DATE
    END_DATE   = START_DATE - 1.   " PREVIOUS WEEK END DATE
    START_DATE = START_DATE - 7.   " PREVIOUS WEEK START  DATE
    **********PREVIOUS WEEK DATES IN PRE_WEEK******************
    pre_week-SIGN   = 'I'.
    pre_week-option = 'BT'.
    pre_week-LOW    = START_DATE.
    pre_week-HIGH   = END_DATE.
    APPEND  pre_week.
    CLEAR : START_DATE,END_DATE.
    endcase.
    Regards,
    G S Ramanjaneyulu.

  • Formula variable in Customer exit

    Hi Experts,
    I need help.
    I create 
         first Formula variable (Z_OPTSEL) for a user entry, mandatory, ready for input, dimension ID = Number and
         second Formula variable (Z_OPT1), customer exit, mandatory, not ready for input, dimension ID = Number .
    User Exit code in ZXRSRU01 is :
    When 'Z_OPT1'.
    case i_step.
    when '2'.
    clear e_t_range.
    read table I_T_VAR_RANGE INTO loc_var_range with key vnam = 'Z_OPTSEL'.
    if sy-subrc = 0.
        if <b> loc_var_range-low = '1'.</b>       
                  l_s_range-low = '2'.
        endif.
        if loc_var_range-low = '2'.
             l_s_range-low = '0'.
        endif.
    endif.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    clear l_s_range-high.
    APPEND l_s_range TO e_t_range.
    endcase.
    Unfortunately, I get <u>no value in loc_var_range-low</u> (from Z_OPTSEL) so , I never can fill up Z_OPT1 !! What could I do to fix it ?
    Any help would be welcome .
    Thanks

    <FONT FACE = "Tahoma", Font Color = "Blue">
    My Dear Friend<br>
    <u>Please try the below code:</u><br><br>
    Case vnam.<br>
    When 'Z_OPT1'.<br>
    check i_step = 2.<br>
    <br>
    read table I_T_VAR_RANGE INTO loc_var_range with key vnam = 'Z_OPTSEL'.<br>
    <br>
    if sy-subrc = 0.<br>
    Clear l_s_range.<br>
    if loc_var_range-low = '1'. <br>
    l_s_range-low = '2'.<br>
    endif.<br>
    if loc_var_range-low = '2'.<br>
    l_s_range-low = '0'.<br>
    endif.<br>
    endif.<br>
    l_s_range--sign = 'I'.<br>
    l_s_range-opt = 'EQ'.<br>
    APPEND l_s_range TO e_t_range.<br>
    endcase.<br>
    <br><br>
    Hope it helps.<br><br>
    Cheers Abhijit<br>
    </FONT><FONT FACE = "Verdana", Font Color = "Red">
    Removed
    </FONT>

  • Count the number of days in the selected range using Customer exit

    Hi Experts,
    we have requirment where user is asking to add a column to report, which will have 'count of days for which key figure is having values' for each of the months and the Header would be 'Day Count'
    Please let me know if its possible using Customer exit?

    Hi,
    In our report we have two characteristics site no. and product and we have 6 key figures of type quantity and Input for the report is Fiscal year/period
    So in the report Key figures are populated with values for respective site no. and product combination
    Now the user wants new column in report which will have header u2018Day countu2019 and it should Simply count the number of days in the selected range that have a volume different than 0 for key figure
    Please let me know if more details are required

  • BW reporting authorisation using customer exit

    Hi,
    We are planning to implement BW reporting authorisations using customer exit, so that authorisations can be filled at the run time, this is to avoid maintaining huge number of authorisations.
    If any one has implemented this before, Please send me  some documentation for the same. We have BW 3.50 environmnet.
    Regd,

    Hi Anil,
    What kind of authorization do you need for your BPS layout? Please explain this requirement further and I will try to help.
    Your second question is quite good, where do I find the values to fill the user exit too do authorization correctly for each user, right?
    I think this depends heavily on your source system, but a good approach (if possible) is to compare the master data available in the BW system to the logged on user in the system. If not, you will have to maintain data, i.e. in an ODS (like you suggest) in order to have something to work with in the CMOD exit.
    For instance, consider this simple scenario (we can discuss it further if you give more details on your scenario and requirements):
    User ABC belongs to plant 10. User DEF belongs to plant 20. You have an ODS with mapping between usernames and plants.
    <pseudo code>
    In CMOD:
    data: lv_user(8) type c.
    data: lv_plant(10) type i.
    lv_user = sy-uname. "this will give you user's login id
    select single plant into lv_plant from <your ODS>
    where ods_userid eq lv_user.
    L_S_RANGE-LOW = lv_plant.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'EQ'.
    APPEND L_S_RANGE TO E_T_RANGE.
    User ABC will see plant 10 and user DEF will see plant 20.
    Do you have any master data (i.e. 0username) available to map between username and an user number (such as business partner)?
    Hope this helps,
    Petter

  • What are the commonly used customer exits ?

    what are the commonly used customer exits  in realtime with regard to the modules MM, SD, PP?

    SD - MV45AFZZ

  • Can u please help in getting this report  "using customer exit."....

    Hi friends.
    can any body pls suggest how this report lay out could be formed.
    when you enter in selection as  0CALMONTH = Nov 2007.
    The report should give the values of a K.F (return rate), in the following manner .
    july     july-aug      july - sep       july - oct         july - nov.
    i.e it should always give the values of that K.F starting from july , then july -aug , then july-sep , july-oct and july -nov ..(it shld show  the cumulated values starting from july )
    The fiscal year  always starts from july and ends with june .
    say if you give  0calmonth  = FEB 2007, THEN THE TREPORT SHOULD FETCH TE VALUES
    july2006      july -aug      july-sep          july -oct         jul- nov       july- dec   jul - jan2007    july2006 - feb 2007
    can you plesae tell me in detail  how to this . if we have to use CUSTOMER EXIT ,pls give me the code how to do this. your answers will be suitably rewarded.

    Hi,
    Try using offset varaiable of calmonth.
    Regards
    siva

Maybe you are looking for