Understanding of customer exit coding

Hi all,
Please explain the following customer exit coding
when 'ZNON_TO'.
      clear: l_s_range.
      l_s_range-sign = 'I'.
      l_s_range-opt = 'BT'.
      l_s_range-low = '0006'.
      l_s_range-high = '0015'.
      append l_s_range to e_t_range.
Thanks
Jaheer

ZNON_TO: The variable name.
l_s_range-sign: denotes whether it's 'I' inclusive, or 'E' exclusive. Make sense for interval type only.
l_s_range-opt: what type of variable, either 'EQ' equal-type, or 'BT' between-type (interval).
l_s_range_low: Is the low limit value of the variable. For non-interval variable, this is the value.
l_s_range_high: Is the high limit value of the variable. Make sense only for interval type variables.
Hope it helps.
BR
Stefan

Similar Messages

  • Puzzled about Customer Exits

    Hi everyone,
    I'm trying to get into the field of customer exit coding to enhance reporting capabilities. Now from what I've learned, the way to go is via one of the SAPLRRS0 exits and do the actual coding in includes like ZXRSRU01, which should be located in the customer namespace (since it's a 'Z', as I understand) and hence be modifiable. Still, if I try to edit the file, SAP asks for a developer key, but I thought this was the whole point about customer exits (and what sets them apart from user exits): Since you're not tampering with the original system, there would be no need for a developer key
    I have also checked in SE03 if the customer namespace is modifiable (from what I can tell it is).

    Hi Tilman Budde ,
    Keys are required at 2 levels .
    1. When you try to modify existing sap object ... This is called as object key.
    2. When you try to modify existing sap object ..This is called as developer access key ..Unless your user id have this (developer key) ..even if you have object key you will not be able to modify abap workbench objects..
    Hope that helps.
    Regards
    Kapadia
    ***Assigning points is the way to say thanks in SDN.***

  • 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

  • How to do coding in the customer exit

    Hi I have found the customer exit by finding "Call function Exit" in the program. Now my question is how to do coding for that exit as I can not enter it directly in CMOD.

    Hi Suchender,
    in TA CMOD you first have to create a Z- project. Then assign an enhancement.
    The assigned enhancement offers one or more components. After assigning the enhamcement,
    display the components. in case enhancemnet is a function exit simply double click it and you will navigate
    to function builder. there you will find an include, where you can place your coding.
    regards
    rea

  • Variables coding for replacement path customer exit

    i have to look up values in query for restricted keyfigure ..
    the values are stored in an ods table as below, as the values changes often during the year.:
    zdate123.......value1.....value2
    1/1/10............90..............91
    1/2/10............94..............87
    in a query i have to grab all the data for Value1 for different dates,
    so i created a variable ZVAR_VALUE1
    and write the customer exit for it as below
        DATA: l_s_table TYPE /BIC/AZODS00.
        data: l_s_range_low,    l_s_range,    l_s_range_sign,    l_s_range_opt.
        DATA: v_today type sy-datum.
        v_today = sy-datum.
    CASE i_vnam.
      WHEN 'ZVAR_VALUE1'.
        IF i_step = 1.
          CLEAR L_S_RANGE.
          SELECT SINGLE /BIC/ZVALUE1 INTO l_s_range FROM /BIC/AZODS00
          WHERE /BIC/ZDATE123 EQ v_today.
          APPEND l_s_range TO e_t_range.
        ENDIF.
    this gives error
    WInitial RANGE-OPT for customer exit variable zvar_value1 is corrected..
    Error for variable zvar_value1...
    i tried replace variable with query but i cannot use it in restricted keyfigure as it gives error...variable cannot be used in structure
    can anybody help correct the code??

    thank you
        DATA: l_s_range TYPE rsr_s_rangesid.
      and it works
    but now in query outpu t the value comes up as 0.00 for everything
    this is my code exactly as below
    ATA: l_s_table TYPE /BIC/AZODS00.
    DATA: v_today type sy-datum.
    v_today = sy-datum.
    CASE i_vnam.
    WHEN 'ZVAR_VALUE1'.
    IF i_step = 1.
    CLEAR L_S_RANGE.
    SELECT SINGLE /BIC/ZVALUE1 INTO l_s_range FROM /BIC/AZODS00
    WHERE /BIC/ZDATE123 EQ v_today.
    l_s_range-low = l_s_table-/BIC/ZVALUE1 .
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    APPEND l_s_range TO e_t_range.
    ENDIF.
    and there exist the value for today for Value1 in ods

  • Coding for Customer-Exit Variables

    Hi experts,
    We have some variables in BEX with Customer-Exits.
    I want to see the codings and i do following.
    1- Tcode u201CCMODu201D and enter u201CProject Codeu201D go tou201DComponentsu201D.
    2- Double Click on EXIT_SAPLRRS0_001
    3- Double Click on INCLUDE ZXRSRU01
    But I dont see anycoding here.
    Where should be the codings for Variables with Customer-Exits hidden?
    Do you have any idea, thank you.

    Hi,
          The Include which you are seeing is for only the customer space. This is for Customer exit variables created  by Developers. So Here if there are any routines written by the Developers will be there. Initially it will be Blank.
    If you want to See the standard SAP Exits goto SMOD.
    Regards
    Karthik

  • Field only known in Customer Exit

    Hi all,
    I know this topic has been discussed quite number of times before on SDN, but still i am confused with this field indicator.
    Based on previous posts in SDN, what i understand is that if we enhance a datasource by appending a field to
    extract structure we check this field.
    If i am not wrong we write the code to populate this field in CMOD.
    I have a bunch of fields appended to extract structure and i see that
    not all fields are checked for"filed only known in CustExit". But still i get data for these fields
    when i do extraction. All these fields are populated in UserExit.
    when data can be extracted even if "field know in custexit" is not checked. what is the significance of this indicator.
    Thanks
    Silpa

    *If fields are part of a standard extractor i can understand them not being checked. But in my case i have Z custom fields some of which are checked others are not.
    Eg: ZZ1, ZZ2, ZZ3, ZZ4. I have ZZ1, ZZ2 checked and ZZ3, ZZ4 not checked for "field known in customer exit" indicator.
    So you mean to say ZZ3 and ZZ4 will not get any values even though there is code for these two fields in customer exit.*
    What I meant was that irrespective of whether or not "field known in customer exit" is set, if in your customer exit you have coded for populating data to particular fields, those fields will get the data from customer exit.
    eg.
    zz1 and zz2 are set with this indicator
    zz3 and zz4 are not set
    If you code for zz1, zz2, zz3 and zz4, you can populate these values in exit
    If not, these fields will not be automatically populated in standard extractors as it can do so only for the fields which are part of standard extractors.
    Your main question was 'what is the significane of "field know in custexit" indicator'
    Its main significance as I have mentioned is that if a field is set with this indicator and the coding is not done in customer exit, that particular field will not get populated
    Edited by: Rahul K Rai on Jul 13, 2010 7:31 PM

  • Bex Odata Services with Customer Exit

    Hi All,
    Im using Bex as Odata Services in order to export the result set , everything works fine until i tried to use Customer Exit in Bex...in that moment the Odata Service goes down an shows a few errors.
    Does anybody know how can i manage this?
    Thanks a lot.

    Hi Marcos,
    Can you please explain your scenario and what you have done so far (e.g. share the coding in the user exit)?
    I understand that you get a few error messages. Please share them too and display the error messages on the lowest level (with details on the error).
    Last but not least, on which BW release and SP level are you working?
    Thanks,
    Sander

  • Customer exit on variable

    Hi
    i am trying to write a customer exit on a variable, but the problem is that i have to get the values of the variable at runtime and do the processing. How can i get the values of the variable in the code?
    thanx
    sujai

    You should understand the concept of  <b>I_STEP</b>  in the coding .
    Go thru :
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/59069d90-0201-0010-fd81-d5e11994d8b5
    Look at below code :
    User Exit: ZVCCYTDX
    Input: ZVCPAXRG
    Output: Jan of Accident Year Range
    Logic Description:
    WHEN 'ZVCCYTDX'.
    <u><b>if i_step = 2.</b></u>
    <b>clear loc_var_range.
    loop at i_t_var_range into loc_var_range WHERE vnam = 'ZVCPAXRG'.</b>
    if sy-subrc = 0.
    curr_year = loc_var_range-low(4).
    concatenate curr_year '001' into jan_accidentyear.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = jan_accidentyear.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'EQ'.
    append l_s_range to e_t_range.
    exit.
    **endif.
    endloop.
    endif.
    <b>** Code calculates YTD values from user entered Fiscal Period.</b>
    Message was edited by:
            Jr Roberto

  • How to capture user input for customer exit processing?

    I need to calculate the number of working days elapsed in the current fiscal quarter BASED on the USER INPUT on the reporting front.  i.e., say the fiscal quarter started on 1 July 2005 and if the user enters 10 July 2005, I should get the value 8 (Assume that Monday through Friday are all workdays).  If the user enters 12 July 2005, I should get 10.  I have written customer exits and know how to use factory calendar, but <b>THE CHALLENGE</b> is how do I <b>CAPTURE</b> the user input and use it in my exit?  During the varible definition, if I select the check box "Ready for input" then the customer exit is not being processed and unless I check that box I can't get a user entry!  If I look at the import values in the customer exit, I see i_t_var_range with type rrs0_t_var_range.  My strong feeling is that this parameter gets the user input, but I am unable to use it as the customer exit is not being called if I make the user to input the data.  Based on the empirical evidence, I felt that user input and customer exit can not co-exist!!  Please somebody prove me wrong and let me know how can I use the user input to process my "customer-exit" variable.  I would really appreciate any input from the BW community here.

    Hi Sameer,
    Most likely, I'm missing something, but I think that the answer is very simple.
    CASE I_VNAM.
    WHEN 'YOUR_CUSTOMER_EXIT_VAR'.
    IF I_STEP = 2. “ After selecting of input variable
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'USER_INPUT_VAR'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4).
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    ENDIF.
    ENDCASE.
    In this typical user exit coding you have a user entered value in LOC_VAR_RANGE (originally in I_T_VAR_RANGE) and you construct your user exit variable value in E_T_RANGE.
    Best regards,
    Eugene
    Message was edited by: Eugene Khusainov

  • Displaying Customer Exit Variable with derived value from another ODS

    Hi All,
    Sorry if this question has been answered before.  I searched the forums and could not find anything specific to my problem.
    I am new to BEx Query.  Customer is requesting a variable(s) be created which will be displayed as a column along with other CKF and RKF.  This query is a payroll query for US/Canada.  This new variable will be based on the user input date for the query.  We are to take this date and go look up the actual pay date for the pay period to which the user input date belongs.  The pay date is stored in another ODS.
    So far, as far as the changes to the Customer Exit ZXRSRU01 are concerned, I would perform the logic when I_STEP = 2.  Do a basic selection off the second ODS, derive the pay date, and store in range table E_T_Range.
    The data displayed off the user input date is displayed in rows.  This is done six times, going back seven days for each row (first row is data for period user entered date to user entered date - 7 days; second row is data for period user entered date - 7 days to user entered date - 14 days; etc ...).  For this to happen  correctly, I am assuming the variable(s) are to to have characteristic types 'Not ready for input', 'Mandatory', 'Customer Exit', and 'Single Value'.
    My question is ... How do I display the six variables in columns (how are they to be defined in the query) and the characteristics I list above, are they correct? Does this need to be a replacement path variable?
    Thanks.
    Edited by: Amir Hasan on Jun 11, 2009 6:24 PM
    Edited by: Amir Hasan on Jun 11, 2009 6:25 PM

    Hi Amir,
    What i can understand from u r requirement is you want to few columns that will show something like below,
    User entered date = x
    Period of X to Period of (X-7)       Period of X to Period of (X-14).....
    This can be done by CMOD for variable only.
    Logic steps :
    1) Take the user input.
    2) Find out the period by using T009B table and store in temp variable.
    3) Do day -7 and find out period for the same
    4) Assing period of X to ls_range-high range and X-7 to ls_range-low.
    Let me know if you have any doubt
    Regards,
    Viren

  • Customer exit variable - internal table in BEX

    Hi,
    i am running a report and using variables in it.
    The report runs over a info cube. There are few challenges in it.
    One of the variable is posting date, and when user enters posting date i need to negate it with current system date.
    If the negated value is greater than 28 then i need to exclude documnet type 'YG' and display the query, else i need to include the dcumnet type 'YG' and document type '  '.  The above logic can be well implemented via a customer exit variable(for posting date) using an internal table. We have internal tables like C_T_DATA which is used in data source enhancement, which help us to implement our own desired logic.
    Do we have such kind of internal tables, based on which the report output (result set) is derived?
    i know that we have l_t_range and e_t_range, but dont know their usage, some one can explain in detail about them?
    Thanks in advance.

    Hi Selva & Lakshmin,
    The code given by Selva is almost correct . If my understanding is clear , you also wanted to include  document type ' ' when the negated value is less than 28 .
    Modification in Selvas Code :
    Variable 'V_DOCTYP' must be of type Multiple Single Values.
    DATA : V_DATE LIKE SY-DATUM.
    DATA : V_DAYS TYPE I.
    if i_step = 2.
    when 'V_DOCTYP'.
    READ TABLE i_t_var_range INTO loc_var_range WITH KEY vnam = 'ZV_PDATE''.
    IF SY-SUBRC = 0.
    V_DATE = loc_var_range-low.
    ENDIF.
    V_DAYS = SY-DATUM - V_DATE.
    IF V_DAYS > 28.
    l_s_range-low = 'YG'
    l_s_range-sign = 'E'.
    l_s_range-opt = 'EQ'.
    APPEND l_s_range TO e_t_range.
    ELSE.
    l_s_range-low = 'YG'
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    APPEND l_s_range TO e_t_range.
    clear l_s_range.
    l_s_range-low = ' '.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    APPEND l_s_range TO e_t_range.
    ENDIF.
    ENDIF.
    Hope the above reply was helpful.
    Kind Regards,
    Ashutosh Singh

  • Customer Exit Variable not working in BO-Webi Report

    Hi All,
    I have created a universe based on Bex Query.
    Bex query consists of a customer exit variable on Calendar year/month where in it will populate current calendar year month by default while executing the query. It works fine while executing in SAP BI Bex Analyser.
    I have created a universe based on the query. For Calender year/Month i got L00, L01, LOV values in universe.
    Based on the universe I have created a Webi report. I did not specify calendar year/month as query filters. While directly executing the Webi report, I get the calendar year/month variable screen. But the value for it not populated based on customer Exit code written in BI.
    What has to be done to get the customer exit values in variable screen.
    Thanks for your understanding.
    -- Selva

    Since you have customer exit variable in your bex query, it will be like a global filter in your universe.
    Execute the webi report and check whether you are getting only current month data.
    --- Thanks

  • Help needed in Customer exit variable

    Hi Experts,
    We have a scenario as below.
    User enters fiscal year period.Based on the fiscal year period,entire year will be selected.
    Row would contains
    0fiscper3(Fiscal months from Jan to Dec)
    Column contains Amount(Actual or Forecast)--There is a restricted keyfigure on amount.If value type=60 then forecast
    and value type=10 then actual amount
    If the user enters 002.2010 then it should give Actual values ie value type=10 for 001.2010 and 002.2010.For all values greater than 002.2010, it should give forecast values(value type=60)
    Report Format.
    Jan----
    Actual Value(value type=10 in the column for amount)
    Feb----
    Actual Value(value type=10 in the column for amount)
    Mar----
    Forecast Value(value type=60 in the column for amount)
    Apr----
    Forecast Value(value type=60 in the column for amount)
    May----
    Forecast Value(value type=60 in the column for amount)
    Jun----
    Forecast Value(value type=60 in the column for amount)
    Jul----
    Forecast Value(value type=60 in the column for amount)
    Aug----
    Forecast Value(value type=60 in the column for amount)
    Sep----
    Forecast Value(value type=60 in the column for amount)
    Oct----
    Forecast Value(value type=60 in the column for amount)
    Nov----
    Forecast Value(value type=60 in the column for amount)
    Dec----
    Forecast Value(value type=60 in the column for amount)
    I know that i have to create a customer exit variable for value type
    But in this scenario.the value for value type may change in each row based on fisper3(month).
    How can i obtain such a scenario in the customer exit
    Your help will be appreciated.
    Thanks,
    Senoy
    Edited by: senoy laxman on Feb 15, 2010 6:42 AM

    Hi Senoy,
    you have to create two customer exit variables for fiscal year period(0fiscper) as given below.
    1. for actual values (value type=10), coding in cmod such that showing values less than and equal to user input values.
    2. for forecasting values(value type=60,)coding such that showing values greating than user input values.
    use the first varible in the first selction and the second varible in the second selection in the given below structure(use the structure in rows)
    use the fiscal period user input varible in the third selection in the given structure below.
    structure
    selection - (Actual)-restrict with value 20 and first customer exit variable .
    selection -(Forecast)-restrict with value type 60 and second customer exit variable.
    Selection - 0fiscper
    Add the key figure 0Amount in the columns or in rows(in the selection of second structure) as per your requirment.
    hope this helps you.

  • Bex Customer Exit: I_STEP 2,3 are not getting called up?

    Hi All,
    I need a small help in BEX variable customer exit. I am trying to give an error message on what user had entered on the selection screen. I kept several breakpoints. But I understand that this particular code is calling up only when 'I_STEP = 1'. For I_STEP 2 and 3, the follwong code is not being called? I have seen so many validations happening on user entered values with error messages.. But I am not sure where I am missing?
    Here is my sample code.. can any one extend the help?
    The original requirement is to 'modify' what user had entered. But I understand that SAP is not allowing to modify what user had input.. So thought of giving a small error message.. and not able to do that also.. so I am in this Forum..
    thanks,
    Hari
    When 'ZCATID2'.
    *data : l_year1(4) type n,
          l_year2(4) type n,
          l_text(12).
    data: l_cat(10).
    *IF I_STEP <> 2.
    *RAISE no_processing.
    *ENDIF.
    IF I_STEP EQ 3.
      break-point.
      READ TABLE I_T_VAR_RANGE WITH KEY VNAM    =  'ZCATID2'
      INTO  LOC_VAR_RANGE .
      if LOC_VAR_RANGE-LOW CP '*'.
      message i999(zz) with 'Test'.
      endif.
      break-point.

    Thanks Roberto for this good document to clear my fundamentals. I think I understand the mistake on my code.
    Thanks verymuch for your timely help.
    Best Regards,
    Hari
    ( I looked to give more points to you but it allwoed me only 10 points to give you.). Have a nice day!!

Maybe you are looking for

  • Droid bionic's touch screen doesn't work properly with firefox have to use opera

    once on Firefox, I have to tap on the screen links many times until it recognizes the touch. the screen will zoom in and out only. scrolling is slow but it functions. it's the touch that doesn't work

  • Save byte[] array to file

    Hi, I've read a .jpg picture off the hard disk and stored in a byte[] array. I've altered some of the bytes and want to save the file back to .jpg. Is there a method available in java which allows me to do this? Thanks and regards, Krt_Malta

  • How do I photomerge using PSE10 for Mac?

    I have a photo of a dog in a field and another photo of a different dog on a sidewalk. How do I photomerge these photos into one that has a common background?

  • My flash animation won't work when I preview my webiste in the browser.

    I am using Dreamweaver CS6. I have inserted a flash animation file into my website that I created in Flash. And it plays just fine in the design part of Dreamweaver. But when I Preview In Browser, it does not appear, OR it tells me i need to download

  • Set xterm icon in openbox?

    I'm used to looking in /usr/share/applications for .desktop files in order to change their desktop features eg. icon, but I can't see one for xterm. How do I set the icon for xterm?