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

Similar Messages

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

  • Hierarchy Node authorization with customer exit

    Hi All,
    I have created a hierarchy for an info-object A along with nodes test1 and test 2.node test1 consisit of value 10,20,30,40,50 and node test2 consist of value 60,70,80,90.  .
    1) I want that perticuler user should access perticuler node in hierarachy for that reason I have created a database table in which i have maintained the username and the values from the Infoobject A .I want to write a customer exit code in which user X can access node test1 and user Y can access node test2
    but in database table i can not maintain the nodes i can only maintain the values from the nodes
    so how can i restrict the user to perticuler node instead of values
    The authorization values for the perticuler user will get filled by customer exit variable maintained in the authorization profile
    can any body suggest me or send me example customer exit code for this scenario.
    I really appreciate your thoughts on this issue.
    Thanks,

    Hi,
    in addition to Anil's valid input, make sure that ZTEST is NOT ready for input. Indeed "ready for input" vars cannot be changed via customer exits.
    hope this helps...
    Olivier.

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

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

  • 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

  • Understanding complex query with selections(customer exit variables)

    Hi experts,
    I am trying to understand one query having  a combination of selections and BEx variables in it.
    In Characteristic Restrictions panel of Query Designer:
    we have some CHARs restricted by means of authorisation variables
    In Default Values panel:
    some other CHARs without any filters
    In free CHARS panel
    some characteristics
    In Rows panel:
    some more chars that were placed in Default values panel
    In Columns panel:
    Formula YTD on selection YTD
    Formula Monthly on selection Monthly
    Selection on YTD characteristic(hidden)
    Selection on Monthly characteristic(hidden)
    Selection XX(in definition,I saw selection on YTD Keyfigure and a characteristic variable VAR1(i-step=1) filled with customer exit..this variable picks up right version of Master Data...our system has many versions of master data,one for each year)
    Selection YY(in definition,I saw selection on Monthly key figure and the same characteristic variable VAR1 we used in Selection XX)
    When I execute this..I see one variable popup which asks for values for year and version of master data...I enter master data version for that year and the year....I see the result...
    Now I tried to experiment to learn...I deleted Selection XX and Selection YY and tried to execute....a variable popup asking for year...I enter year and tried to execute..it throws message---'Value for variable VAR2 cannot be determined'......
    I couldnot understand this error because VAR2 is a customer exit characteristic variable defined in CMOD...ITS NEVER USED IN THIS QUERY...but defined in CMOD to pick up correct version of Master data..its defined in such a way that it picks value depending upon VAR1 varaible....both variables function is same...its just that  VAR1 works on i_step=1 and VAR2 works on i_step=2 plus dependent on VAR1....
    Can anyone understand why I am seeing error about VAR2 when its never used in Query....??
    Thanks for your inputs....

    Hi Vikram,
    I am unable to find VAR2 anywhere in query designer....Can it be like that its hidden?
    Thanks and Rgds,
    SChand

  • Customer exit variable with exclusion

    Hello all, anyone know why a customer exit variable cannot exclude values ?
    I've tried with multiple, single and interval without success (it give me a generic error in the customer exit for my variable).
    Only the "selection option" mode seems to be enabled to exclude values (also in debug mode with rsrt transaction).
    Unfortunately, I cannot use selection option (because this exclusion is an integration of pre-existence selection on a complex structure).
    We have SAP BW 3.1C, with SP16. I've looked for sap notes but nothing about this problem (may be a limit).

    Now I post my code. The variable is a "Multiple Single Values", optional, not "Ready for Input".
    This is my code.
      DATA: L_S_RANGE TYPE RSR_S_RANGESID.
      If I_STEP = 2.
        CASE I_VNAM.
         WHEN 'ZXXXXX'.
            clear l_s_range.
            l_s_range-sign = 'E'.
            l_s_range-opt = 'EQ'.
            l_s_range-low = 'xxxxxxx'.
            append l_s_range to e_t_range.
        ENDCASE.
      ENDIF.
    The query raise an error (generic error on customer exit).
    I've debugged the code. Error has raised from plausibility_check on RRS_VAR_VALUES_EXIT_AFTER. The following is the code that raise the error.
            CASE i_vparsel.                                              
              WHEN   rro04_c_vparsel-param                               
                  OR rro04_c_vparsel-<b>multiple</b>                            
                  OR rro04_c_vparsel-table.                              
                IF     <l_s_range>-sign <> rs_c_range_sign-<b>including</b>     
                    OR <l_s_range>-opt  <> rs_c_range_opt-<b>equal</b>.         
                  PERFORM raise USING rs_c_false g_c_ue_invalid_range    
                                      i_vnam space space space.          
                ENDIF.                                                   
    From this code, it seems that with multiple selection we only have sign including and option equal.
    What do you think about ?

Maybe you are looking for