User-Exit Variable

Hi, I created a simple user-exit variable and for some reason the variable seems to get executed around 16 times and then the query gives me the below error messages.   Any ideas why my variable would have I_STEP = 2 many times before it bombs out? 
Note: This variable is based on a Virtual Characteristic I just implemented and is probably related.  The query did not fail before trying to implement this user exit based on the Virtual Characteristic.
Error for variable in customer enhancement ZVRSR_001
Incorrect call of OLAP layer CL_RSR_OLAP; error in BW-BEX-ET
*~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
* Load Variable with NCI Authorized Sales Rep (Sales Group)
*~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-
  WHEN 'ZVRSR_001'.
    IF I_STEP = 2.                         "after the popup
      DATA: LT_REP    TYPE /BIC/AZ_P_O04300.
      DATA: LV_REP    TYPE /BI0/OISALES_GRP.
      SELECT SINGLE * FROM /BIC/AZ_P_O04300 INTO LT_REP
           WHERE USERNAME = SY-UNAME.
      IF SY-SUBRC = 0.
        W_L_S_RANGE-LOW = LT_REP-/BIC/ZSHTO_GRP.
      ELSE.
        W_L_S_RANGE-LOW = '???'.
      ENDIF.
      W_L_S_RANGE-SIGN = 'I'.
      W_L_S_RANGE-OPT  = 'BT'.
      APPEND W_L_S_RANGE TO E_T_RANGE.
    ENDIF.
ENDCASE.

OK, It looks like because it is a Virtual Characteristic that the User Exit Variable Code will be called every time the "Virtual Characteristic" code is executed as well.  The real problem seemed to be that I had used a BT in the Variable User Exit Range.  Once I changed that to "EQ' it works fine now.  Thanks

Similar Messages

  • Need help in creating a user exit variable

    Hi all,
    I have created a query in which a key figure needs to be automated with an user exit variable.I want to derive the value of this key figure 'x' based on calender month.
    This key figure should get the cumulative value from the first month of the fiscal year till the calender year month entered while executing the query.
    I got a basic understanding on the User exits from SDN. But Im not sure how to implement this logic.
    I would really appreciate if you could provide me a detailed explanation of how to do this.
    Thanks in advance,
    Vinoth

    Hi
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/208811b0-00b2-2910-c5ac-dd2c7c50c8e8
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/6378ef94-0501-0010-19a5-972687ddc9ef
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2d99121a-0e01-0010-e78c-b1ae566a2413
    http://sap.ittoolbox.com/groups/technical-functional/sap-bw/how-can-i-set-bex-variables-in-i_step3-exit_saplrrs0_001-335232

  • How to select several values from a user exit variable in a planning folder

    Hello,
    I have created a user exit variable for limiting the values only to which the user need to access.
    For a simulation part, it is then necessary for him to select several values from these values (not only one, and not all)
    But It seems in this case the user has only two possibilities :
    - keep all the values without any restriction
    - restrain the selection to only one value.
    It seems possible for the user to access to a multiple choice window, but this possibility doesn't seems to work : in all tests we did, only the first value was taken into account by BPS.
    If this method is not good do you know an other manner to permit the user to choice several values amongst a set of pre-selected  (because the original set is too important) values ?
    Thanks for your help.

    Hi Mayank,
    Thanks for your response, but I don't think it corresponds to my problem.
    I my case, I use a user exit variable to filter some data. It seems BPS offers the possibility to the user to select several values amongts the pre-selected values presented by the user exit variable, but it doesn't work. We can use a popup in which we enters the required values, but in final, only the first value is taken into account.
    I don't know if it is due to a BPS bug or if it is not a good solution in regard to BPS philosophy. In this case, the concerned caracteristic isn't in the header but in lead columns.
    I must present a solution to my client next monday, so I have not enough time to open an OSS message.
    An alternate solution should be interesting too.
    My need is to present to a user a selection of values amongst all values from an infoobject (the user exit variable seemed to be a good solution) and the user must have the possibility to select some values amongst these as filter.
    Regards

  • 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

  • BI 7 Bex Query - User exit variables after variable screen re-processed

    User exit variables are not re-calculated after the variable screen is called up to re-run report with a new selection.  Is there some way to force the user exit variables to change?   I am aware of note 1064273 but this doesn't seem to help in these circumstances.
    Example:
    My Bex Query uses OI_FYPER for a static characteristic selection and  I have defined a customer exit formula variable which uses the values in OI_FYPER.
    All works fine when the query is run first time but if the user calls up the variable screen to change the selection and re-run the query, the customer exit formula variable is not re-calculated (customer exit is called but only with ISTEP = 3).
    Software version is NS2004S (BI 7.0)  SPS10, BI ABAP SP11, BI JAVA SP10, BI Front End Package 1401 rel 354.

    hi.. i just came to know about this in another thread..
    I_STEP 3 does not have I_VNAM stored. So, to access values at I_STEP3 :
    data: l_range TYPE RRS0_S_VAR_RANGE.
    if I_STEP = '3'.
    read table I_T_VAR_RANGE into L_RANGE with key VNAM = 'OI_FYPER'
    if SY-SUBRC = 0.
    ...code as required...
    endif.
    endif.
    Customer-Exit for analysis Authorizations: i_step = 3, i_vnam is empty

  • User exit variable I_STEP=1 does not show default value WebI selection scr

    Hello,
    We have a BW query with a user exit variable. We have written user exit code under I_STEP = 1 so that the default value for the field is displayed on the selection screen to the user. Works very well on the BW side.
    We based a universe on top of the query and then created a WebI report.
    When the WebI report is executed the default value is NOT seen on the selection screen,
    Note:
    1. If the user exit variable is optional and we execute the report, the default value is NOT seen on the selection screen. However if the report is executed without entering any value for the field the logic under I_STEP = 1 is picked up and the report gets the correct output
    1. If the user exit variable is mandatoryand we execute the report, the default value is NOT seen on the selection screen. The user now has to enter the value for the field.
    The scheduled reports will work in case of optional user exit variable.
    However this amounts to loss of functionality.
    Is this a known bug?
    Is there a way to display default values based on user exit variables on the WebI selection screen?
    Kindly advice. Btw we are on XI 3.1 SP3
    Rgds
    Edited by: Anup Deshmukh on Jun 29, 2010 11:13 PM

    OSS Note 1285993 - "Support of Customer Exit Variables from BEx query into WebIntelligence via OLAP universe"  deals with this issue and has deemed it out of scope for XI 3.1 SP3.
    Rgds

  • RRI & user exit variable

    Hello RRI specialist!
    I need to implement the following logic: user executes report 1 (sender) which contains characteristic Material (and several other characteristics). With the RRI the user must be abled to jump into report 2 (receiver)displaying the Material Type(s) of the Material selectied in report 1.
    Note: in this case there is a n:m relationship between Material and  Material Type. The relationship between Material and Material Type exists in a Z-table.
    I thought to implement this with 2 alternatives:
    First alternative, under Assignment Details, assigning Material to variable V1 (being a User-Exit variable of type Material Type) used in report 2.  From report 1 I hope to jump into report 2 by "selecting" on a Material (e.g. 4711) and then read the Z-table when i_step = 2 to find the corresponding Material Type. 
    Prolem: when I set a break point for V1 in ZXRSRU01 I see that V1 does not appear in the table I_T_VAR_RANGE (for any i_step), i.e. the values (e.g. 4711) are no passed from the sender selection to V1.
    Second alternative, under Assignment Details, assigning Material to variable V2 (being a User-Entry/Default variable of type Material) used in report 2.  Report 2 will then contain variable V3 (being a User-Entry/Default variable of type Material Type). The user-exit logic will read V2 from I_T_VAR_RANGE when i_step = 2 and the Z-table to find the corresponding Material Type.  
    Problem: exactly the same as above. NOTE: it does not help that V3 is of type replacement type from the sender report.
    When I use the debugger of the RRI in RSRT2 both alternatives seem to work correctly.
    Does the variable defined under Assignment Details have to fulfill certain conditions in order for the values to be passed?
    Is it simply that ZXRSRU01 is called before the values are passed from the sender report?
    Anybody got an idea what I am doing wrong and how I could implement the requirement to read the Z-table in the RRI jump????
    Thanks for any help,
    Martin

    Dear Martin,
    That was a good explanation of issue and approach. It had been quitesome time to work on user exits. I am not sure the following views can help you.. but i am also interested in the solution..
    1) can we include the material group in the sendor ( hidden) and can this me directly assigned to target?
    2) I think i_step = 2, get excuted after user filled the values manually. How about trying i_step = 3, i think this is the loop for reading other than manual entries..
    3) how about the trails of filing the default values at i_step = 1, on the taget query names. Notsure this will give you the solution.. just my thoughts..
    regards,
    hari

  • BPS User Exit Variable based on Planning Package Selection

    Hi,
    I'm implementing a SAP BW-BPS planning layout to be integrated into the CRM we user interface.
    Most of the characteristic selections come from the CRM fields that need to be filled by the user when creates a trade promotion.
    The charcteristic selections work (as standard) just if in the planning level I flag "Selection in Package", then in package these selections are dinamically defined from what the user select in the CRM fields at runtime.
    My problem is that I have to build a BPS User Exit variable to filter, in the planning level, the proper Planning Area based on the CRM Sales Organization value.
    The characteristic CRM Sales Organization belongs to whose chararcteristic the value is determined dinamically in the planning package.
    Is it possible for a BPS user exit variable, set in the planning level, to catch the value of a characteristic selection made at planning package?
    Many thanks for your help.
    Alessandro

    Hi Indu,
    Many thanks for your answer.
    I have already took a look at the document posted by you but I didn't find the solution to my problem.
    This because i have to create a user exit variable that need to get the value of the characteristic selection in package.
    I mean in the planning level I will have the user exit variable that restrict the planning area and, his function module, need to read, at runtime, what is the value of the characteristic CRM Sales Organization restricted in package by CRM.
    So I don't have any idea to which BPS internal table I have referred to in my funcion module to catch the value of the CRM Sales Organization dinamically filtered by CRM.
    Many thanks,
    Alessandro

  • BEX User exit variables in WEBI

    Hi Experts,
    Need your help please.
    I have a report in BEX with a user exit variable wich depends on other manual input variable.
    In BEX it works properly but in WEBI it doesn't recognize the user exit variable.
    It displays the error message: Not possible to determine the value for ZPD_YEAR_DAY variable
    Error in DB.​ ​Error message is​:​ ​failure to execute the query ​M​D​X​ ​S​E​L​E​C​T​ ​ ​{​ ​[​M​e​a​s​u​r​e​s​]​.​[​D​9​C​S​1​W​7​F​A​8​F​E​O​H​J​3​T​3​2​H​4​Q​D​Z​4​]​,​ ​[​M​e​a​s​u​r​e​s​]​.​[​D​9​D​H​9​K​1​N​I​T​C​Z​E​4​U​Y​3​J​4​U​A​E​T​Z​4​]​,​ ​[​M​e​a​s​u​r​e​s​]​.​[​D​9​D​H​9​K​1​N​I​T​D​R​2​R​6​P​F​2​K​G​C​U​8​8​W​]​,​ ​[​M​e​a​s​u​r​e​s​]​.​[​D​9​C​S​1​W​7​F​A​8​E​M​Z​V​7​C​H​J​M​V​2​A​Z​P​C​]​,​ ​[​M​e​a​s​u​r​e​s​]​.​[​D​9​C​S​1​W​7​F​A​8​K​0​S​7​H​N​Q​B​O​5​J​A​R​L​S​]​,​ ​[​M​e​a​s​u​r​e​s​]​.​[​D​9​C​S​1​W​7​F​A​8​G​6​D​3​U​V​4​M​I​3​7​5​S​8​W​]​,​ ​[​M​e​a​s​u​r​e​s​]​.​[​D​9​C​S​1​W​7​F​A​8​H​P​Q​C​I​D​R​P​D​B​C​0​K​S​G​]​,​ ​[​M​e​a​s​u​r​e​s​]​.​[​D​9​C​S​1​W​7​F​A​8​I​H​E​Y​U​5​3​8​S​X​E​F​Z​2​8​]​,​ ​[​M​e​a​s​u​r​e​s​]​.​[​D​9​D​H​2​8​D​W​V​F​6​7​4​2​E​6​4​Z​O​L​8​F​X​3​4​]​ ​}​ ​ ​O​N​ ​C​O​L​U​M​N​S​ ​,​ ​N​O​N​ ​E​M​P​T​Y​ ​C​R​O​S​S​J​O​I​N​(​ ​C​R​O​S​S​J​O​I​N​(​ ​C​R​O​S​S​J​O​I​N​(​ ​C​R​O​S​S​J​O​I​N​(​ ​C​R​O​S​S​J​O​I​N​(​ ​C​R​O​S​S​J​O​I​N​(​ ​C​R​O​S​S​J​O​I​N​(​ ​C​R​O​S​S​J​O​I​N​(​ ​C​R​O​S​S​J​O​I​N​(​ ​ ​{​ ​[​0​C​A​L​Y​E​A​R​]​.​[​2​0​1​0​]​ ​}​ ​,​ ​ ​{​ ​[​0​H​A​P​_​D​O​C​_​I​D​_​_​Z​A​P​_​S​U​B​S​T​]​.​[​5​0​]​,​ ​[​0​H​A​P​_​D​O​C​_​I​D​_​_​Z​A​P​_​S​U​B​S​T​]​.​[​7​0​]​ ​}​ ​ ​)​,​ ​[​0​I​N​F​O​P​R​O​V​]​.​[​L​E​V​E​L​0​1​]​.​M​E​M​B​E​R​S​ ​)​,​ ​[​Z​D​A​T​E​_​A​T​]​.​[​L​E​V​E​L​0​1​]​.​M​E​M​B​E​R​S​ ​)​,​ ​ ​{​ ​[​Z​C​P​M​]​.​[​X​]​ ​}​ ​ ​)​,​ ​[​Z​P​R​O​M​O​C​A​O​]​.​[​L​E​V​E​L​0​1​]​.​M​E​M​B​E​R​S​ ​)​,​ ​[​Z​R​E​S​P​_​A​V​L​_​_​Z​N​I​V​_​C​A​R​R​]​.​[​L​E​V​E​L​0​1​]​.​M​E​M​B​E​R​S​ ​)​,​ ​[​Z​R​E​S​P​_​A​V​L​]​.​[​L​E​V​E​L​0​1​]​.​M​E​M​B​E​R​S​ ​)​,​ ​[​Z​N​I​V​_​C​A​R​R​]​.​[​L​E​V​E​L​0​1​]​.​M​E​M​B​E​R​S​ ​)​,​ ​[​0​E​M​P​L​O​Y​E​E​]​.​[​L​E​V​E​L​0​1​]​.​M​E​M​B​E​R​S​ ​)​ ​D​I​M​E​N​S​I​O​N​ ​P​R​O​P​E​R​T​I​E​S​ ​M​E​M​B​E​R​_​N​A​M​E​,​ ​M​E​M​B​E​R​_​C​A​P​T​I​O​N​,​ ​[​0​E​M​P​L​O​Y​E​E​]​.​[​2​0​E​M​P​L​O​Y​E​E​]​,​ ​[​0​E​M​P​L​O​Y​E​E​]​.​[​4​0​E​M​P​L​O​Y​E​E​]​,​ ​[​0​H​A​P​_​D​O​C​_​I​D​_​_​Z​A​P​_​S​U​B​S​T​]​.​[​2​0​H​A​P​_​D​O​C​_​I​D​_​_​Z​A​P​_​S​U​B​S​T​]​,​ ​[​Z​R​E​S​P​_​A​V​L​]​.​[​2​Z​R​E​S​P​_​A​V​L​]​ ​O​N​ ​R​O​W​S​ ​F​R​O​M​ ​[​Z​A​V​D​P​_​M​0​1​/​Z​P​D​_​G​P​S​_​V​A​R​I​A​V​E​L​_​0​0​2​]​ ​ ​with error:​ Not possible to determine the value for ZPD_YEAR_DAY variable​.​ ​(​W​I​S​ ​1​0​9​0​1​)
    This ZPD_YEAR_DAY variable​ is the user exit variable.
    Thanks in advance,
    José Simões

    Hi!
    I am following up to this post to see if there is something I am missing.
    We have bex query with user exit variable and webi bi4sp04.4
    In bex the user exit variable works correctly, in webi, it is ignored  (the webi results are not filtered as they are in bex web results)
    I have tried moving the variable to the char restrictions and removed ready for input - so there are now no prompts in bex query.
    I have reviewed note 1611185 as well as other info on restrictions of BICS and webi, but cannot find a clear answer if bex user exit variables are supported in BI4 clients or not.
    Lee Lewis

  • User Exit Variable picking values from InfoProvider

    Hi,
    I've created a User Exit variable (of type Interval, Mandatory) on 0CALMONTH and populating it in exit.
    The problem is at the time of query execution, I get "BRAIN 657" error i.e.  "Value <value> is Invalid for Variable <variable name>".
    After doing some analysis I figured out that once the user-exit code is performed, system validates the entries populated in this Variable against the values in InfoProvider and gives error when it doesn't find those values.
    E.g. lets say InfoProvider has values for 0CALMONTH from 06.2010 till 10.2010 and if I populate my variable with range 03.2009 till 12.2010 then it throws above error. But if I populate the variable with exact values i.e. 06.2010 till 10.2010 then it works.
    Any idea how can I remove this validation and populate with my own value range?
    Regards,
    Vikrant.

    hi remove that default value from the variable.
    and you shd be able to run the query without any problem.
    regards,
    VJ

  • Problem with User exit variable

    We're using an user exit variable (var2) for YTD calculation (For getting the first month of current year). It gets value from another exit variable (var1) which has by default value last month of current year(populated in I_step1 from sy-datum). If the user wants he can change the default value of var1. It works fine when the query is executed the first time. But if the user calls the variable screen again, the variable screen does not show var1 in the popup and the user gets an error message that no value could be determined for var2. How can this issue be resolved or is there any other method to satisfy this requirement.
    Your help would be appreciated and rewarded.
    Thanks & Regards
    Hari

    Hi Ravi,
    Sorry, there's a correction. <b>var2 is used for getting the first month of the year selected by the user in var1</b>. If the user doesn't enter a value for var1, then var2 should take first month of current year from var1 which has by default last month of current year (populated in i_step1 from sy-datum). The user can select the value of var1 according to his requirement. Then var 2 should get first month of the year selected. That's why I'm using two exit variables.
    It works fine during the initial run of the query. But when the user clicks on the variable button in the toolbar and executes the query, var1 is not being displayed and an error message <i>No value could be determined for var2</i> is shown. All other variables used in the query are displayed except var1.
    Krzys, Is the option <i>Can be changed in Query Navigation</i>  available for Exit variables. I'll check that and get back to you.
    Boujema, Thanks for the OSS note.
    Thanks
    Hari

  • ABAP help in user exit variables

    Hi,
    In the selection screen of a query, I have an optional variable CalenderMonth (SOMONTH). I have to calculate another user exit variable (CALMONTH) in ZXRSRU01 by using this SOMONTH. This is how. If the value SOMONTH is entered, then I need to assign SOMONTH to CALMONTH. If SOMONTH is not entered, then I need to set CLAMONTH to current calender month from system date.
    For that, I need to check if SOMONTH is entered or not in the program ZXRSRU01. This is what I am trying to do, and is not working.
    WHEN 'CALMONTH'.
        If I_step = 2.
          Loop at I_T_VAR_RANGE into LOC_VAR_RANGE
                 Where VNAM = 'SO_MONTH'.
           IF LOC_VAR_RANGE-LOW IS INITIAL.
            ELSE
           ENDIF.
    <b>PROBLEM:</b> The statement "IF LOC_VAR_RANGE-LOW IS INITIAL." is not working. When I try to debug the code, program aborts at that line. By this line of code, I mean to check if SOMONTH is initial or not.
    Any suggestions or ideas very much appreciated.
    Thanks alot
    John

    Hi
    When I have tried something similar to this (in BW v3.1), and the (optional) variable I am reading from is not populated by the user; in STEP 2 table I_T_VAR_RANGE does not contain a record for it. Hence, the logic I would use is:
    CASE I_VAM.
    WHEN 'CALMONTH'.
      IF I_STEP = 2.
        READ TABLE i_t_var_range INTO loc_var_range
        WITH KEY vnam = 'SOMONTH'.
        IF SY-SUBRC = 0.
          loc_range-low = loc_var_range-low.
        ELSE.
          loc_range-low = sy-datum+4(2).
        ENDIF.
        loc_range-sign  = 'I'.
        loc_range-opt   = 'EQ'.
        APPEND loc_range TO e_t_range.
       ENDIF.
    Hope this helps.

  • User Exit variable to determine Month to date

    Hello folks, wondering if someone could please assist with this problem.  I have  a need for a user exit variable that will determine the MTD based on a user input from another variable.  For example, if a user enters 09/15/2009, the exit will know to retrieve information only for the days from 09/012009 - 09/15/2009.  Here is the sample of the code that our ABAP programmer came up with but so far it's not working.  Can someone please have a look at the codes below and let me know what may be the problem?  Thanks.
    in CMOD:
    *&  Include           ZXRSRU01
      DATA: l_sub_name TYPE char30,
            l_f_chk TYPE rs38l_fnam.
      CONSTANTS: lc_sub_prefix TYPE char5 VALUE 'F_BW_'.
      CASE i_step.
        WHEN 3.
          CONCATENATE lc_sub_prefix i_s_rkb1d-infocube INTO l_sub_name.
        WHEN OTHERS.
          CONCATENATE lc_sub_prefix i_vnam INTO l_sub_name.
      ENDCASE.
    *--- this for XXX project. please create programs for
    *--- each individual projects (project).
    *--- variables at STEP 2
      CASE i_vnam.
        WHEN  'BCCMTD'.
          IF l_sub_name IS NOT INITIAL.
            SORT i_t_var_range BY vnam iobjnm.
            PERFORM (l_sub_name) IN PROGRAM    zbw_XXX_exit
                                      USING    i_t_var_range
                                      CHANGING e_t_range.
            CLEAR l_sub_name.
          ENDIF.
        WHEN OTHERS.
      ENDCASE.
    **--- infocubes at STEP 3
      CASE i_s_rkb1d-infocube.
        WHEN 'BSD_M01'.
          IF l_sub_name IS NOT INITIAL.
            SORT i_t_var_range BY vnam iobjnm.
            PERFORM (l_sub_name) IN PROGRAM    zbw_XXX_exit
                                      USING    i_t_var_range
                                      CHANGING e_t_range.
            CLEAR l_sub_name.
          ENDIF.
        WHEN OTHERS.
      ENDCASE.
    Edited by: David on Oct 1, 2009 5:08 PM

    more info on the program
    In zbw_XXX_exit program
    FORM f_bw_bccmtd USING    i_t_var_range TYPE zbw_rrs0_t_var_range
                     CHANGING e_t_range     TYPE rsdd_t_range.
    *--- current date
      DATA: l_current_date TYPE sy-datum.
    *--- initialize the variables
      CLEAR:   v_wa_var_range, v_exch_rate,
               v_exch_temp, v_wa_return.
    *--- get the appropriate value from input variable table
      READ TABLE i_t_var_range INTO v_wa_var_range
           WITH KEY vnam    = c_var_name3
                    iobjnm  = c_obj_name2
                    BINARY SEARCH.
      IF sy-subrc = 0.
        l_current_date = v_wa_var_range-low.
        l_current_date = l_current_date - 1.
        CLEAR v_wa_return.
    *--- populate return value
        v_wa_return-sign = c_sign.
        v_wa_return-opt  = c_opt_bt.
        CONCATENATE l_current_date+0(6) c_one INTO v_wa_return-low.
        v_wa_return-high  = l_current_date.
        APPEND v_wa_return TO e_t_range.
      ENDIF.
    ENDFORM.

  • Populate user exit Variable with User Authorizations using ABAP?

    Hi, Does anyone know of a way to populate a user exit variable (with ABAP) with the Authorization Values for a user running a report?  I am turning off authorizations for our InfoProvider using RSSM and want to populate a variable instead and use the variable as a filter.

    Hi Kenneth ,
    You need dynamic authorization in your report .This can be done at query runtime by using exit variable and writing cmod code for the same .
    This code will read authorization maintained at runtime of query in i_step = 1 and will pass input var values accordingly .
    For step by step information you can access this document .
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0f9f33c-0f17-2d10-d3a2-ae52ccd00780?quicklink=index&overridelayout=true
    Hope this will be helpful .
    Regards,
    Jaya Tiwari

  • User Exit Variable for Bex in CMOD (ABAP Code)

    Hi Experts
      My requirment is to develop a Restricted Keyfigure...
      The restriction is based on 0Calmonth (Calendar Year/Month)
    The sales from beginning of calendar year up to last "closed" month in a Calendar.
    Ex: in June i want to see 01.01.2009 to 31.05.2009 data.
        in October i want to see 01.01.2009 to 30.09.2009 data.
    When user execute the report
        in Jan 2010 i want to see 0 as there is no closed month in that particular year.
        in Fed 2010 i want to see 01.01.2010 to 31.01.2010 data.
    For that purpose i need to create a User Exit variable in CMOD...
    I am struggling to get an idea on how to write a code to meet the requirment
    Please help me with code that i can use in cmod
    Thanks in advance

    Hi,
    Use the following code :
    when' variable name ' .
    DATA : year(4) type n,
    month2(2) type n,
    date_in type sy-datum,
    date_op type sy-datum.
    IF I_STEP = 1.
    CLEAR L_S_RANGE.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    month2 = sy-datum+4(2).
    if month2 = '01'.
    concatenate sy-datum+0(4) '01' '01' into l_s_range-low.
    l_s_range-high = sy-datum.
    else.
    month2 = month2 - 1.
    clear : date_in, date_op.
    concatenate sy-datum+0(4) month2 '01' into date_in.
    CALL FUNCTION 'SLS_MISC_GET_LAST_DAY_OF_MONTH'
      EXPORTING
        DAY_IN                  = date_in
    IMPORTING
       LAST_DAY_OF_MONTH       = date_op
    EXCEPTIONS
       DAY_IN_NOT_VALID        = 1
       OTHERS                  = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    concatenate sy-datum+0(4) '01' '01' into l_s_range-low.
    l_s_range-high = date_op.
    endif.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDIF.
    I dint know what output do you want if the current month is jan.
    I have put it as 1st jan till current date.
    Modify it if you need.
    Regards,
    Mansi

Maybe you are looking for

  • RFC: Introduce new 'Article/Tutorial (Comment) Threads' in the Web Dynpro Forum

    Some time ago I've suggested on SCN Support is both forum moderator and most active articles wrtiter Valery Silaev SaM Solutions http://www.sam-solutions.net Message was edited by: Bertram Ganz This thread was branched from forum thread: How to print

  • Partitioning using Disk Utility Gone Wrong

    I have been attempting to partition my hard drive so that I can install windows 7 to my computer (Late 2010 Macbook Pro, 13inch, currently using Mavericks), but Bootcamp was not working for whatever reason.  I instead tried to partition my hard drive

  • 3.5 Query Designer not working after GUI 7.1 installation

    Hello Experts, I just installed SAP GUI 7.1 after desinstallation of 6.4 with following patches: - GUI Patch level 12 - BW 3.5 for GUI 7.1 - Gui Patch level 801 This order seems to work for my colleagues. The problem is the following : Bex analyser w

  • Lenovo 1 Year Warranty Status appears incorrect on H430

    I am new to Lenovo  and  this forum...   (Thank you to Andy for getting me started with my other problem, "H430 Recovery Disk".) My next problem:    The  One Year Lenovo "Warranty Expiration" is not correct as displayed on the Lenovo on-line  "Warran

  • Demantra: Analytical Engine Startup Error

    Hi, I just installed demantra in my maching. Every thing looks fine but i am not able to start my Analytical Engine and Simulation Engine. I get the following error F:\Program Files\Oracle Demantra Spectrum\Demand Planner\Analytical Engines>.\bin\Eng