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

Similar Messages

  • 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

  • How to Broadcast Control Query based on User Exit Variable

    Hi Gurus,
    How to Broadcast dashboard based on Control Query based on User Exit
    Variable to different users via mail in BW 3.5 version. Any document or
    steps to achieve this will be very helpful.
    Regards
    Vishwanath

    Hi Surendra,
    Thanks for the reply and your suggestion. It will be great if you can help me to answer the below:
    1) What exactly we mean by Control Query - Any example will be very helpful
    2) As you mentioned, yes the user exist to be written will be for user-exit variable for dynamic period selection - An Example on how to create this will be helpful
    3) Once the above variable is created, what are the steps to include this variable in the Bex Query?
    4) Once all the queries to be used in dashboard are implemented with the exit variable, how to create a variant to be used in Broadcasting?
    5) How and where to configure the email recipients (to whom this dashboard will be sent via mail)?
    6) How to set up the BW broadcaster in BW 3.5 using the control query ?( My question is though we have to send the dashboard to the users, which has multiple queries, how a single control query with variant will help us).
    Awaiting your reply.
    Thanks and Regards
    Vishwanath

  • I_STEP=2 in Planning sequence and user exit variable

    Hello!
    I need some issue, help plz.
    I have planning sequence with currency translation type fuction.
    In this function Exch. rate type calculated from user-exit variable VAR_1 (for example).
    This VAR_1 calculate from VAR_2 (ready for input) variable on I_STEP = 2.
    In pure report all fine, i fill VAR_2 in variable screen and VAR_1 fill in exit.
    But! In planning sequence (run from Excel) in I_STEP = 2 structure i_t_var_range is empty and my VAR_1 cannt be calculated.
    I try any command and parameters in Bex - no result.
    How can i calculate VAR_1? Or what i must do in order to get i_t_var_range on I_STEP 2 with VAR_1.
    Thanks.
    Anton.
    BW SP 17(DEV) AND 19(QAS)

    Hello Matthias!
    I try all kind of binding, using command VAR_NAME and VAR_VALUE, without command etc.
    But it seems like my user-exit variable start in different context and do not see other variable.
    My planning sequence start working only when i insert condition for planning function and set VAR_2 here. After that VAR_1 calculate normally ( i_t_var_range on I_STEP 2 contain VAR_2). But i think all should be working without condition...i dont need condition.
    Any idea?
    Anton.

  • BPS User exit Allocations

    Hi Experts,
    I am brand new to BPS and I have to write code for BPS user exit for allocations.
    i have to read the ods to obtain the rule for sender cost center. for each sender cost center exit needs to determine net posted values for cost elements by referencing postings made in BPS cost center planning area. and this updates needs to made in cost center planning area.
    the same thing i have to do for receiver side.  each of receiver's receives proportion of corresponding sender assessment amount and this should be posted against specified characteristic like sub-region, profit center etc which are obtained from ODS.
    is any one of you have any sample code ? please guide me.
    thanks in advance

    Hi Ravi,
    What i have to is, I have to read one ODS table (a rule table ) which has key fields like allocation, start date and segment number and data fields like sequence number, rule, sender percentage,assessment / distribution rule, field group, version, sender cost center, sender cost element low and high, company code, receiver profit center, primary lc, sub lc, sub-region, controlling area and cost element.
    Now for each sender cost center in ODS, i have to write BPS User Exit, that will determine net posted values for cost elements listed in ODS, by referencing postings made in BPS cost center planning area(PACCA) and updates is made to PACCA.. The amount field is there in the list of "Fields to be Changed" in the planning level where this Exit will trigger.
    On Receiver side, receiver postings is based on referencing ODS sender cost center. Each receiver receives proportion of corresponding sender assessment amount (based on percentage) and this is posted to the specified value field to the specified receiver characteristics like sub-region, profit center, sub LC and/or LC which will be obtained from again ODS. The weighting that each receiver gets is determined by the exit referencing the dta in BPS COPA planning area (PAREVCOG) for specified plan version and value field (as listed in rules stored in ODS) and determining the weighting that each receiver should get. This updates will made to PAREVCOG.
    Ravi, This is high level requirement.
    Now, it would be great, if you have something similar or you can guide me how exactly I have to proceed step by step. I am really new to BPS so some sample code it would be great help.
    Regards,
    SKS

  • 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

  • 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

  • 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

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

  • 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

  • BPS User-Specific Variables by Web

    Hi,
    I'm triyng to setup a CC planning interface for my company.
    I configured the levels and layouts and they work fine.
    I run the interface with the planning folders and everything works fine but when I setup the Web Interface tha layout stops working. The message is something like "Variable XXXX can't be specified".
    I'm using user specific variables in the planning level so every user can only see and modificate certain CCs.
    Any ideas?
    Thank you very much.

    Alejandro,
    Sorry, I had been at a new client this week doing a review and it is long hours so have not checked back. 
    The other discussions groups I participate on is e-mail based so only checking here when I have a block of time.
    What type of cost center variable are you using?  on 0costcenter or on the hierarhcy?  Are you using variable with user specific value or with of type authorization or something else?
    did you configure the web interface using web enabled layout or using Web interface buillder?
    Mary

  • Need help with transporting User Exit Variable in CMOD ZXRSRU01

    Hello Gurus.,
                      I changed the existing user exit variable in CMOD ZXRSRU01.,before changing neither it ask for any transport request,  nor when I activated the include program .
    Well., I tried this........I went to goto-> Object Directory Entry.,
    changed the Package and person responsible for and then it asked for transport request...but this dint work...
    Now., how can I capture the changes in a transport request, so that, i can move the changes to production system?
    is there anyway to solve my problem?
    Regards,
    PNK

    Thanks for ur help VIKRAM...i solved the issue...the changes are captured in someother request, but it was not showing in the Version Management.'
    I checked the Lock Overview in the Object DIrectory Entry and found out that it was capturing in different request. I released the request and when I tried to change the code, it asked for new transport request.
    It worked..
    Thanks for your help..
    Regards,
    PNK

  • User-Exit Variable Scenario

    Hi,
    I have a multiprovider M1 over two cubes C1 and C2. User reports on this Multiprovider M1.
    C1 has keyfigure K1 which holds activity values for each Calendar Year Month.
    C2 has keyfigure K2 which holds only Inception to Date values for each Calendar Year Month.
    User needs a report which displays Activity values for both K1+K2 for each calendar year month(for the range he gives).
    To calculate activity value per month for K2, we need to get Change in the Inception to Date values between current month and the prior month.
    So, as per the user requirement, if for example we need activity for Jan 2006, the value he needs would be
    K1(jan 2006) + K2(jan 2006 - dec 2005).
    I created 2 user-exit variables V1 and V2 based on the characteristic Calendar Year Month having a variable V0(Interval, mandatory).
    V1 takes the "low" value and V2 takes the "low + 1" value of V0.
    In the columns panel of the BeX designer, I created a structure S1 which contains keyfigures K1(V1), K2(V1) and K2(V2). I made a formula, "K1(V1) + (K2(V2) - K2(V1))".
    I put the calendar year month characteristic with variable V0 in the filters panel. Ran the query with a wide range 01/2004 to 12/2006. It gave me results for only first 1 month (01/2004).
    I moved the calendar year month characteristic with variable V0 into the columns panel on the top of the structure S1. Ran the query with a wide range 01/2004 to 12/2006. It gave me results for only first two months (01/2004 and 02/2004). But, unfortunately either of K2(V1) or K2(V2) is blank for each month.
    Anyways, I was able to successfully get what user wants by keeping V0 in filter panel, but could make it just for 1 month. But, I want this to be extended over all the months for the range user gives.
    Can anyone suggest a good way to do this? Hope I did not confuse you with lot of information.
    Thanks,
    Sai.

    Hi,
    1.
    Change V0 to single value (mandat.)
    2.
    Put restriction [V0-1; V012] (value restr. from V0-1 to V012) in filter panel for char Calendar Year Month.
    3.
    Define 13 Customer-Exit Variables:
    V1 for -1 period () of time interval (from char. Calendar Year Month),
    V2 for 1 period of time interval (from char. Calendar Year Month),
    V13 for 12 period of time interval (from char. Calendar Year Month).
    4.
    Create 13 Selections (always hidden):
    Sel1 for V1,
    Sel2 for V2,
    Sel13 for V13.
    5.
    Make 12 formulas. In every formula you can use
    all of these 13 selections.
    Yes, it is not a perfect solution, but hope it helps.
    But Cell editor is a killer for perfomance

  • 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

Maybe you are looking for