Customer Exit to derive formula variable to text variable (BW 3.5)

Hi gurus,
I have created a formula variable in a BEX report (BW 3.5) that is fill by the user during runtime.  This formula variable is used in conditions and other key figures in the query.
What I need now is to use the value given by the user in this formula variable and expose it in a text variable.
The variable properties are as follows:
VARIABLE 1: 'MONTOANA'
Type of variable: formula
Processing by: user entry
Variable entry is: mandatory
Ready for input?  YES
Dimension ID: Price  (currency: Argentine pesos / Unit: per mil)
VARIABLE 2: 'TXMONANA'
Type of variable: text
Processing by: customer exit
Variable entry is: mandatory
Ready for input?  NO
Dimension ID: Price  (currency: Argentine pesos / Unit: per mil)
I pretend tu use the value of 'MONTOANA' in the variable 'TXMONANA', so I wrote the following code in transaction CMOD (enhancment EXIT_SAPLRRS0_001, include ZXRSRU01):
CASE i_vnam.
WHEN `TXMONANA`.
    IF i_step = 2. "after the popup
      LOOP AT i_t_var_range INTO loc_var_range
        WHERE vnam = 'MONTOANA'.
        CLEAR l_s_range.
        l_s_range-opt = 'EQ'.
        l_s_range-sign = 'I'.
        l_s_range-low = loc_var_range-low.
        APPEND l_s_range TO e_t_range.
        EXIT.
      ENDLOOP.
    ENDIF.
ENDCASE.
I'm not getting any result for the text variable.  Could you kindly help me?
Thanks to all in advance!!!
LL

We found the solution with members of our ABAP team.  In the end the issue was due to the type of the field.  The field loc_var_range-low is CHAR 60 so I had to extract the first characters on the right to get the value I wanted to deliver into the text variable.
Thanks anyway for your help.  Regards, Leticia

Similar Messages

  • Customer Exit for Deriving Current Fiscal Period, Period+1 and Period+2

    Hi all,
    I have created three customer exit variables in my query for custom info object ZFISCPER (Fiscal Year PEriod), Fiscal 1, Fiscal 2 and Fiscal 3. I want to write a customer exit to derive the current period, current 1 and current2 period's respectively for these variables based on the system date. The format of the period is YYYY0MM ( 2009004). Could someone give me the exact code i can plug in CMOD for these
    Thanks a lot
    Rashmi.

    Hi Rashmi,
    I think you need only one customer exit variable. Other can be derived by setting an offset to current Fiscal Period.
    Check the BI content variable for current fiscal period. Use this variable with an offset for derving the other periods (e.g. SAP Exit variables (0FPER, 0FYTCFP, 0FYTLFP). So you have to write no own code...
    Other option is to check how SAP exit is working and building own variable based on this code.
    Check the following link to get information how to do this:
    Reg Variable 0FYTCFP
    Regards
    Andreas

  • Issue with customer exit for copying one variable value to another

    Hello Gurus,
    I need to copy the value of a single value variable into another single customer exit variable.
    I coded as below.
      WHEN 'customer_exit_var'.
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
          WHERE VNAM = 'user_input_Variable'.
            CLEAR L_S_RANGE.
            L_S_RANGE-LOW = LOC_VAR_RANGE-LOW.
            L_S_RANGE-HIGH = ''.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'EQ'.
            APPEND L_S_RANGE TO E_T_RANGE.
            EXIT.
          ENDLOOP.
        ENDIF.
    I used the condition <= for the customer exit variable in the report. But, it is considering only single value, but not all the values <= to the give value.
    Please help me in this regard,
    Thanks,
    Aarthi.

    Thanks for your immediate response Govind.
    My report is restricted based on two dates. Date1 and Date2. Need to consider all records whose dates are <= Date1 and <= Date2.
    Date1 and Date2 should have same values. But user inputs only Date1.
    So, I created Date1 as Single, User Input Variable restricted the query with <=Date1.
    Next I created Date2 as Single, Customer Exit Variable and restrcited the Query with <=Date2.
    In CMOD I used the above code to assigne Date1 Value to Date2.
    When I execute the report, say I give todays date in the report (Dec, 12, 2007). Date2  has to consider all the values <= Dec 12, 2007. But, in my case it is considering only Dec 12, 2007, but not the before dates.
    So, Please help me in solving this problem.
    Thanks,
    Aarthi.

  • Customer exit not working for variable

    hi ,  i have created the variable with customer exit,options for variable are optional and ready for input checked.when in debugging mode the value in exit i_vnam is having value of the variable but in the second time it dont have.so i cannot go the code after user inputs data. please solve.

    Hi vijay pilli,
    Custome exit means  by writing code you have to populate the value by specifying a value directly or from the user input.
    for example :
    when ever user runs the report he need to see only for that current year sales revenue.So, for this create a variable for 0calyear > customer exit> clear the ready for input>
    here based on sy-datum we will get the current year.
    when variable
    l_s_range-low = Sy-datum+0(4).
    l_s_range-sign = I.
    L_S_RANGE-OPT = EQ
    Append L_S_RANGE TO E_T_RANGE.
    Regards
    Sree

  • Customer Exit - Reference value of variable in another variable

    Hi
    I am writing a query in BI7, i have a user entry variable V1 and a customer exit variable V2, both are on the version characteristic.
    I need to write some code that will do the following:
    If V1= 'WIP'
    V2 = 0
    ELSE
    V2 = V1
    End
    Any help would be appreciated.
    Thanks

    Hi Niel
    Thanks for the code, id already read the document but had had trouble trying to get it to work with my requirements, unfortunatley the code you gave me did not seem to be restricting the data, i made a few changes and set both the variables to ready for input and made the V1 variable (ZCUBVR03) default to 'WIP', i changed the code to step=1 and it works, when the variable screen pops up if WIP is default
    ZCUBVR03 = WIP
    ZCCFTEVR01 = 0
    or if default is 1
    ZCUBVR03 = 1
    ZCCFTEVR01 = 1
    This should happen after the variable screen when the user has entered ZCUBVR03, why is the code (below) not working when set to step 2?
    Any help would be appreciated
    Thanks
    WHEN 'ZCCFTEVR01'.
          IF I_STEP = '1'. "after the popup
              LOOP AT i_t_var_range INTO loc_var_range
              WHERE vnam = 'ZCUBVR03'.
                CLEAR l_s_range.
                IF loc_var_range-low = 'WIP'.
                  l_txtsh = '000'.
                ELSE.
                  l_txtsh = loc_var_range-low.
                ENDIF.
                  l_s_range-low = l_txtsh.
                  l_s_range-high = ''.
                  l_s_range-sign = 'I'.
                  l_s_range-opt = 'EQ'.
                  APPEND l_s_range TO e_t_range.
                EXIT.
              ENDLOOP.
              ENDIF.

  • Customer Exit (i_step = 1) - Retrieve Variable Value

    Hello,
    I have BW web report and created customer exit (i_step = 1). The BW Web Report is being called from BSP application and I'm passing variable value on URL.
    For example:
    /sap/bw/BEx?cmd=ldoc&template_id=Z_JEFF_CLAIM_TEST&VAR_NAME_1=ZAGGET&VAR_VALUE_EXT_1=10310
    What I need to do now is retrieve the variable value passed on URL in the custom exit i_step = 1. 
    Does anyone know how to do this?
    Thanks,
    Gary

    hi Gary,
    can try in variable user exit ZXRSRU01 ?
    DATA: LOC_VAR_RANGE LIKE RRRANGEEXIT.
      IF I_STEP = 1.
        LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZAGGET'.
        .... = LOC_VAR_RANGE-LOW.
        ENDLOOP. 
      ENDIF.
    hope this helps.

  • Formula variable with User Exit

    Hi,
    Can we create a Formula Variable of processing type USER EXIT...which will display a constant Value Y
    Any syntax would be helpful
    Thanks

    Hi,
    check this for formula variables with user exits;
    http://wiki.sdn.sap.com/wiki/display/profile/Surendra+Reddy
    http://sap.ittoolbox.com/groups/technical-functional/sap-bw/customer-exit-to-derive-formula-variable-to-text-variable-sap-bw-35-3030684
    Also Check the issues and solution :
    Formula Variable with User Exit....Problem
    Thanks
    Hemav

  • Formula Variable Customer Exit

    Hi Gurus,
    I have a requirement where I have to read the one formula variable value ( Replacement path with attribute value ) into customer exit of another characteristic variable .
    For example :
    I have one characteristic formula variable called VAR1 ( which gives the value ) .This value I want to use it in customer exit of another varable  VAR2 ( is it possible to use one formula variable value into another variable ) which I want to use it in Customer exit.
    VAR1  -  Formula Variable
    VAR2  -  Simple Variable with out User Input.
    Example is as below :
    Formula Variable ( VAR1 i.e PLND_DLVRY )  based on this value I want to define another variable APO Version in the Customer
    If it is possible please guide me what is the process. Also I want to make sure which I_STEP I need to use...
    Please guide the best solution.
    Thanks
    Ganesh Reddy.

    Hi Krishnan / Arvind,
    Sorry I was thinking 0PLND_DELRY is nav attribute for 0MAT_PLANT. But 0PLND_DELRY is the quantity field so I can't make this field as a nav attribute. Right now I am populating directly in the Cube using master data. my cube  data looks like
    Fields Description
    F1 = Version
    F2= Material
    F3= Plant
    F4= 0PLND_DELRY
    F5= Calendar Yr/Month
    F6= Concensus Forecast ( Key Figure )
    Condition is Combination of Material and Plant will define 0PLND_DELRY ( Delivery Time )
    F1  |   F2 |  F3  |  F4   |F5  |   F6
    201104 | M001 |200 |  30 |  2011/07 |  5100
    201104 | M002 |200 |  60 |  2011/07 |  6200
    201104 | M001 |300 |  90 |  2011/07 |  4900
    201104 | M001 |200 |  30 |  2011/07 |  7900
    201105 | M001 |200 |  30 |  2011/07 |  5700
    201105 | M002 |200 |  60 |  2011/07 |  6900
    201105 | M001 |300 |  90 |  2011/07 |  4300
    201105 | M001 |200 |  30 |  2011/07 |  7400
    201106 | M001 |200 |  30 |  2011/07 |  5500
    201106 | M002 |200 |  60 |  2011/07 |  6700
    201106 | M001 |300 |  90 |  2011/07 |  4500
    201106 | M001 |200 |  30 |  2011/07 |  7500
    201107 | M001 |200 |  30 |  2011/07 |  5000
    201107 | M002 |200 |  60 |  2011/07 |  6500
    201107 | M001 |300 |  90 |  2011/07 |  4000
    201107 | M001 |200 |  30 |  2011/07 |  8000
    In Order to bring the variance for F6 for Material M001 and Plant 200 then my result is
    Calendar Yr / Mnth = 2011/07
    Current Value = 5000
    Lead Time = 30,  offset = -1
    Version = 201107-1 = 201106 Then
    Prior Value = 5500
    Variance = 5000-5500 = -500
    for Material M002 and Plant 200 then my result is
    Calendar Yr / Mnth = 2011/07
    Current Value = 6500
    Lead Time = 60,  offset = -2
    Version = 201107-2 = 201105 Then
    Prior Value = 6900
    Variance = 65000-6900 = -200
    for Material M001 and Plant 300 then my result is
    Calendar Yr / Mnth = 2011/07
    Current Value = 4000
    Lead Time = 90,  offset = -3
    Version = 201107-3 = 201104 Then
    Prior Value = 4500
    Variance = 4000-4900 = -900
    for Material M001 and Plant 200 then my result is
    Calendar Yr / Mnth = 2011/07
    Current Value = 4000
    Lead Time = 30,  offset = -1
    Version = 201107-1 = 201106 Then
    Prior Value = 4500
    Variance = 8000-7500 = -500
    Every month we get same data with different version and different numbers for all months. Please advise me what is the best solution we can do
    Thanks
    Ganesh Reddy.

  • Customer exit variable output error

    Hi gurus,
    I have created one customer exit variable. in the selection screen i am giving multiple plant and material value,
    my code is working for sigle plant and single material.
    when i have taken multiple value. i am getting error message
    error is 'No value determined for th variable"
    When i debug my code in RSRT, it is giving all the values for different combination of plant and material. and those values are getting in the E_T_RANGE.
    but out put it is giving the error.
    my code is:
    WHEN 'ZPRDEMVA'.
        IF i_step = 2.
          READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
          WITH KEY VNAM = 'ZPRRNDT'.
          v_date = LOC_VAR_RANGE-LOW.
          v_year = v_date+0(4).
          v_month = v_date+4(2).
          v1_date = v_date+6(2).
          v3 = v_year - 1.
          v4 = v_month - 1.
          if v4 = 00.
          v4 = 12.
          v3 = v3 - 1.
          endif.
          concatenate v3 v4 v1_date into ddate.
          CALL FUNCTION 'DATE_GET_WEEK'
            EXPORTING
              DATE         = ddate
            IMPORTING
              WEEK         = zweek
            EXCEPTIONS
              DATE_INVALID = 1
              OTHERS       = 2.
          CALL FUNCTION 'WEEK_GET_FIRST_DAY'
            EXPORTING
              WEEK         = zweek
            IMPORTING
              DATE         = monday
            EXCEPTIONS
              WEEK_INVALID = 1
              OTHERS       = 2.
          sunday = monday + 6.
          v3_date = monday.
          v4_date = sunday.
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
                  WHERE VNAM = 'ZPRPLNML'.
          CLEAR L_S_RANGE.
            v_werks          = LOC_VAR_RANGE-LOW.
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
                  WHERE VNAM = 'ZPRMATML'.
          CLEAR L_S_RANGE.
            v_matnr          = LOC_VAR_RANGE-LOW.
          data: dummy_menge like i_mseg-menge value '0.01'.
          Do 52 times.
               select MATERIAL PLANT QUANT_B MOVETYPE
                     from /BIC/AWINO0100 into  table  i_mseg
                     where PSTNG_DATE between monday and sunday
                     and   MOVETYPE between 261 and 262
                     and   MATERIAL = v_matnr
                     and   PLANT = v_werks.
                         if sy-subrc NE 0.
                           i_mseg-menge = '0.01'.
                           i_mseg-matnr = v_matnr.
                           i_mseg-werks = v_werks.
                           i_mseg-bwart = '261'.
                           append i_mseg.
                         endif.
            loop at i_mseg.
              itab1-matnr = i_mseg-matnr.
              itab1-werks = i_mseg-werks.
              itab1-menge = itab1-menge + i_mseg-menge.
              itab1-bwart = i_mseg-bwart.
              COLLECT i_mseg into itab1.
            endloop.
            sort itab1 by matnr werks bwart.
            loop at itab1 where bwart = '261'.
              itab2-matnr = itab1-matnr.
              itab2-werks = itab1-werks.
              itab2-bwart = itab1-bwart.
              itab2-menge = itab1-menge.
              read table itab1 with key matnr = itab2-matnr
                                        werks = itab2-werks
                                        bwart = '262'.
              if sy-subrc = 0.
                itab2-menge =  itab2-menge - itab1-menge.
              endif.
              append itab2.
            endloop.
            clear itab1[].
            refresh itab1.
            sunday = sunday + 7.
            monday = monday + 7.
          ENDDO.
          loop at itab2.
            sum1 = sum1 + itab2-menge.
          endloop.
          average = sum1 / 52.
          loop at itab2.
            sum2 = sum2 + ( ( itab2-menge - average ) *  ( itab2-menge - average ) ).
          endloop.
          sum2 = sqrt( sum2 / 52 ).
          l_s_range-sign = 'I'.
          l_s_range-opt = 'EQ'.
          l_s_range-low = sum2.
          Append l_s_range to E_T_RANGE.
          clear itab2[].
          refresh itab2.
          sum1 = 0.
          sum2 = 0.
          monday = v3_date.
          sunday = v4_date.
          ENDLOOP.
          ENDLOOP.
        ENDIF.
    Can any one please help me.
    Thanks in advance.

    Hi Alec,
    i created a customer exit with the formula variable only. in the code i am getting the both quantity and unit fields. now i want to get quantity with unit in output.
    thanks

  • Formula variable with replacement path

    HI ,
    1. Is it possible to use "Customer exist- without user entry variable in the formula variable with the replacement ?
    2. if I use two variable for a same time char in one report (one is User entry variable and the other is customer exit variable for calculating current system date), then how it will work ? (User entry variable is there in the "Char restrictions" section and the customer exit variable is customer exit used in formula variable)
    Thanks in Advance.
    Thanks
    Rajesh

    1. Is it possible to use "Customer exist- without user entry variable in the formula variable with the replacement ?
    Yes. use I_step=1
    I_STEP = 1
    Call takes place directly before variable entry. Can be used to pre populate selection variables
    I_STEP = 2
    Call takes place directly after variable entry. This step is only started up when the same variable is not input ready and could not be filled at I_STEP=1.
    I_STEP = 3 In this call, you can check the values of the variables. Triggering an exception (RAISE) causes the variable screen to appear once more. Afterwards, I_STEP=2 is also called again.
    2. if I use two variable for a same time char in one report (one is User entry variable and the other is customer exit variable for calculating current system date), then how it will work ? (User entry variable is there in the "Char restrictions" section and the customer exit variable is customer exit used in formula variable)
    Yes you can use both the variable of time char to restrict a characteristic but that should not be used on single characteristic.
    You can use the sys defined  0date on one field and the customised one Zsydatum on other char.
    Regards
    KP

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

  • Text Variables processing as Customer Exit

    I have posted a similar problem but didnt get any response. Would appreciate if i get some kind of advice in this. I need to display header as Jan FY2007, Feb FY2007 and so on in my report. I want to use same text variable inorder to acheive this as i have a big number of colums displaying fiscal periods for all nearly 4-5 fiscal years. Replacement path doesnt apply as the"Label" option returns the short text. So i guess i need to write a customer exit inorder to fetch the medium text  description from 0FISPER table. I need some kind of help with ABAP code.
    Points will be awarded for any kind of helpful solution.

    Thanks Anil. Yes i am using BI 7.0 I thought of doing that. But as of now the BEx settings for 0FISCPER is Key and still it picks the Short text when i choose the replacament path with Label option. Do you still think if i change the Bex settings as Medium text it should solve the issue? And also please clarify after changing to Medium text do i still need to opt for Label replacement option to achieve my requirement?
    I will try to figure that out and will definitely assign points for your fruitful advice.
    Thanks.

  • Variables with customer exit

    Please search the forums before posting
    i want an example for variables using customer exit with steps
    Edited by: Arun Varadarajan on Mar 15, 2009 7:25 PM

    Hi,
    You can define 'Formula' variables in your customer exit..for example..
    you need to calculate no of machine running hours per month, in order to
    caculate the machine total utilization time..in this context.. you need to know
    how may hours are there in an month by month..
    you can define a variable and write the code in the customer exit for deriving the total no. of hours available for that month and get that value into a variable for further calution like deducting the down time and set up time so on..in your
    calculated KF..
    Hope this helps..
    Assign points if useful..
    Cheers,
    Pattan.

  • I need example for VARIABLES with Customer Exit.

    hi every body i need example for Variable for Customer Exit.

    Hi,
    You can define 'Formula' variables in your customer exit..for example..
    you need to calculate no of machine running hours per month, in order to
    caculate the machine total utilization time..in this context.. you need to know
    how may hours are there in an month by month..
    you can define a variable and write the code in the customer exit for deriving the total no. of hours available for that month and get that value into a variable for further calution like deducting the down time and set up time so on..in your
    calculated KF..
    Hope this helps..
    Assign points if useful..
    Cheers,
    Pattan.

  • 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

Maybe you are looking for

  • Help me choose a new printer

    I am looking for a multifunction printer with the following features. Other than the Brother machines, I haven't been able to find out for sure whether any of the printers I've researched would fit the bill. I don't want another Brother printer - tha

  • Arch freezes for a few seconds from time to time

    It freezes for a 5-10 seconds and after that, everything work fine again. After one of these, I made dmesg: [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgroup subsys cpu [ 0.000000] Linux version 3.8.8-2-ARCH (tobias@T-POWA

  • # of Concurrent Users in an Application

    Is there a way to determine the # of Concurrent Users in an application at specific points in time? Thanks, Mark

  • Report and Graph Generation in Swing

    How can I generate Graphs/2D/3D pi charts/ bar charts and formatted reports (e.g. Expence Sheet of a company) in Swing ??

  • Adobe Tech Comm Suite Classroom in a Book or other books?

    Hi everybody, I noticed on Amazon.ca, Adobe Tech Comm Suite Classroom in a Book is still listed as "unavailable" which at least would mean that it is still in the works but not yet published. Neverthless, on Amazon.com, the book seems to be no longer