Customer exit - code for variable

Hi Friends,
I have created a variable "CUST_EXIT_YEST" and defined the processing type as customer exit. Now would like to add code in CMOD.
Requirement: The variable should allow take yesterday's date. Please help me with the code.
Already there are some codes defined for other customer exit variables in CMOD. Can I add my code below that. If so please explain.
Regards,
Surjit

If i'm not wrong you want to show previous day in the variable.
At the bottom of the existing code before EndCase, u can write the below code
Data: loc_var_range      LIKE rrrangeexit, (must be there this kind of declaration in ur existing code)
WHEN 'CUST_EXIT_YEST'.
    IF I_STEP = '1'.
      Read Table I_T_VAR_RANGE into LOC_VAR_RANGE WITH KEY VNAM = 'CUST_EXIT_YEST'.
      myrange-SIGN = 'I'.
      myrange-OPT = 'EQ'.
      myrange-LOW = sy-datum - 1.
      APPEND myrange TO e_t_range.
    ENDIF.

Similar Messages

  • Find SAP Exit code for Variable '0CMONTH '

    I am trying to fnd the SAP exit code for variable 0CMONTH so I can create a customer copy and make the variable 'ready for input'. Any ideas where I can find the code or a simple way to effectviely copy the delivered variable.
    I have tried looking in SE37 and then RSVAREXIT* but cannot seem to find the specific code I need.
    Thanks
    Steve

    Hi,
    Search the technical name for the variable in metadata repository and try to find the program where it is declared.  Then i hope u can go the code where it is written.
    Cheers.
    Ranga.

  • Customer exit code for fiscalyear period based on system date

    Hi Experts,
    Please provide customer exit code for fiscalyear period derive based sy-datum. Fiscal year period derivie current to previous 12 periods and current to fast 12 periods.
    Thanks,
    Subbaraju

    Hi Subbaraju,
    Please use below customer exit code for your solution. Please define declarations as per requirement.
    When 'ZFPERIOD'.
    IF I_STEP = 2.
    ztoday = sy-datum.
    zfast = sy-datum + 365.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
      EXPORTING
        i_date               =  ztoday
        i_periv              = 'K4'
    IMPORTING
       E_BUPER              = PERIOD2
       E_GJAHR              = YEAR2.
    CONCATENATE YEAR2 PERIOD2 INTO FISCPERLOW.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'
      EXPORTING
        i_date               =  zfast
        i_periv              = 'K4'
    IMPORTING
       E_BUPER              = PERIOD2
       E_GJAHR              = YEAR2.
    CONCATENATE YEAR2 PERIOD2 INTO FISCPERHI.
    L_S_RANGE-LOW = FISCPERLOW.
    L_S_RANGE-HIGH = FISCPERHI.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDIF.
    Similar code user for your previous periods also.
    Thanks,
    Chandra

  • Customer Exit Code Error

    Hi All,
    i have an issue while executing customer exit code for a query.
    Its giving the following error
    WValue "07.2010" is too long for variable Z_RAPMONTHS
    EValue "07.201" for user-exit variable Z_RAPMONTHS is invalid
    EVariables contain invalid values.
    I>> Row: 82 Inc: LRRMSU13 Prog: SAPLRRMS
    ASystem error in program CL_RSR_OLAP_VAR and form INIT-02- (see long text)
    Requiremnt is: variable value should corresponds to last six months including current month (six months in total), e.g.  if we execute the report today (December month) the desired value should be 07.2010 - 12.2010.
    code which i have written is:
    when 'abc'.
        DATA: curr_month(2) TYPE n,
              calc_month(2) TYPE n,
              curr_year(4) TYPE n,
              prev_year(4) TYPE n.
        CLEAR:curr_month,curr_year,prev_year.
        if i_step eq 1.
          curr_month = sy-datum+4(2).
          curr_year = sy-datum+0(4).
          if curr_month = '01'.
            calc_month = curr_month + 7.
            prev_year = curr_year - 1.
           CONCATENATE calc_month '.' prev_year INTO l_s_range-low.
          else.
            calc_month = curr_month - 5.
          CONCATENATE calc_month '.' curr_year INTO l_s_range-low.
         else.
         l_s_range-low = lv_zp0003_year.
            ENDIF.
      CONCATENATE curr_month '.' curr_year INTO l_s_range-high.
          IF l_s_range-low = l_s_range-high.
              l_s_range-opt = 'EQ'.
            ELSEIF l_s_range-high IS INITIAL.
              l_s_range-opt = 'EQ'.
            ELSEIF l_s_range-low LT l_s_range-high.
              l_s_range-opt = 'BT'.
            ENDIF.
            l_s_range-sign = 'I'.
            APPEND l_s_range TO e_t_range.
    Can any one please let me where i am doing the mistake.
    Thanks & Regards.
    AKG

    remove the '.' from the below concatenate statements.
    CONCATENATE calc_month '.' curr_year INTO l_s_range-low.
    CONCATENATE curr_month '.' curr_year INTO l_s_range-high.
    use the code as
    CONCATENATE calc_month curr_year INTO l_s_range-low.
    CONCATENATE curr_month curr_year INTO l_s_range-high.

  • Customer exit code to calculate  Average YTD.

    Hi Experts,
    I want to create new column ( AVGYTD TRGT) in Bex report for folling data .( Which is FF data).
    I have created one formula variable(zfmvavgytd) of type customer exit. and strucked at coding part.
    so that, anybody provide customer exit code for required column(avgytd trgt). and details are as follows.
    0CALMONTH  ENO  ENAME  PERDAY_ TRGT  
    04.2011             1     ABC             100                     
    04.2011             2     BCD             200
    05.2011             1     ABC             200 
    05.2011             2     BCD             200 
    06.2011             1     ABC             300 
    06.2011             2     BCD             200 
    07.2011             1     ABC             200
    07.2011             2     BCD             200 
    till  03.2012        
    Now I want to display the column for ( AVG YTD_TRGT)   based on "0calmonth " & " ENo  "   as below
    AVG YTD_TRGT
    100           
    200
    150
    200
    200
    200
    200
    200
    calculation behind this is...
    for 04 .2011   --empno(1)  ---100/1
    for 04 .2011   --empno(2)  ---200/1
    for 05 .2011   --empno(1)  ---200+100/2
    for 05 .2011   --empno(1)  ---200+200/2
    for 06 .2011   --empno(1)  ---300200100/3
    for 06 .2011   --empno(1)  ---200200200/3
    for 07 .2011   --empno(1)  ---200300200+100/4
    for 07 .2011   --empno(1)  ---200200200+200/4

    First you need to calcualte the YTD and then Average YTD.
    Year to Date (YTD) u2013 From the 1st to entered u201CKey Dateu201D for the current year.
    Average Year to Date - YTD divided by the u201CNo of Daysu201D in year till u201CKey Dateu201D for current year.
    Check the below code for getting Previous YTD....next create a Selection restrict the KF with YTD varaible
    Below is sample code for reference.
    to calculate "Previous year to date" (User input Calday u2013 key date)
    WHEN 'ZDAYPYR'.
    IF I_STEP = 2. "after the popup
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZPDATE'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW.
    L_S_RANGE-LOW(4) = L_S_RANGE-LOW(4) - 1. "low value previos year
    v_loc_date = L_S_RANGE-LOW. "take input value in another variable
    L_S_RANGE-LOW+4(4) = '0101'.
    L_S_RANGE-HIGH = v_loc_date. "high value = input, taken into another variable
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    APPEND L_S_RANGE TO E_T_RANGE.
    EXIT.
    ENDLOOP.
    ENDIF.

  • How to write customer exit code to get current user as default in variable

    Hi guys,
           I design a query which has a variable called var_employee , I also set some default values for this variable in query designer. But I would like to set the current user account who logon on (who execute the query) in the dropdownlist as default user when the variable selection screen appear. of course after that he can choose other avaiable value.
          I look up some related threads, all says that this need some customer exit code, and they mention to use CMOD to create the customer exit , but I don't know the detail process, as I am pretty new on this.
         The attribute of the var_employee  variable is :  employee(defined info object by myself) characterstic value, customer exit.
         Can somebody show me the process to create the customer exit, and the apap code in detail if possbile. then I can try.
          Thanks a lot in advance.
    Best Regards,
    Ben

    Hi,
    Please have a look at:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Krzys

  • How to make BEX Customer Exit Variable inactive through Customer Exit Code

    Hi,
    I had created two variables VAR1 and VAR2 as Customer Exit variables
    If VAR1 is entered then it should automatically make the VAR2 as NO Entry Variable.
    vice versa also required.
    can u help me with any code in CMOD so that we can make it inactive through Customer Exit Code.
    Thanks in Advance.
    Sunil.

    What i want is not commenting the code
    I want to make the BEX Variable as inactive by using the Customer Exit Code
    EX : If value in VAR1 is entered  then VAR2 should become automatically inactive.
           If value in VAR2 is entered  then VAR1 should become automatically inactive.
    how can this be done
    Thanks in advance.
    Sunil

  • Customer exit code to populate fiscal period for prior three months

    Dear frns,
    I need an ABAP customer exit code to populate prior three month's fiscal period.
    Please update on this...thanks
    Cheers! Shana

    Hi
    Here is the code that will satisfies ur condition.
    CASE I_VNAM.
    IF I_STEP = 2.
    WHEN 'ZVAR1'.
    DATA DATE1 TYPE D.
    DATA PERIOD1 TYPE N.
    DATE1 = SY-DATUM.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'.
    exporting
    l_date = date1
    l_periv = 'v3'
    importing
    E_BUPER = PERIOD2
    E_GJAHR = YEAR2.
    DATA PER3 TYPE N.
    PER3 = PERIOD2 + 1.
    CONCATENATE YEAR2 PERIOD2 INTO FPERLOW.
    DATA LDATE TYPE D.
    LDATE = SY-DATUM + 365.
    CALL FUNCTION 'DATE_TO_PERIOD_CONVERT'.
    exporting
    l_date = LDATE
    l_periv = 'v3'
    importing
    E_BUPER = PERIOD2
    E_GJAHR = YEAR2.
    CONCATENATE YEAR2 PERIOD2 INTO FPERHIGH.
    DATA WA1 LIKE LINE OF E_T_RANGE.
    WA1-LOW = FPERLOW.
    WA1-HIGH = FPERHIGH.
    WA1-SIGN = 'I'.
    WA1-OPT = 'BT'.
    APPEND WA1 TO E_T_RANGE.
    ENDIF.
    Hope u gotit,
    Regard,
    RaviChandra

  • Customer exit code to populate three month's fiscal period

    Dear frns,
    I need an ABAP customer exit code to populate three month's fiscal period.
    Please update on this...thanks
    Cheers! Shana

    Dear,
    Thank u for all replies.
    My requirement is simple.
    Rows:
    Fiscal Year
    Columns
    GR Value
    Filters
    Material Number
    Input Paramters:
    Material No.
    Fiscal Year
    Using customer exit if we populate current fiscal year in the selection screen output be like this....
    FISCAL YEAR    GR Value(in crores)
    2009                     4000
    2008                     3000
    2007                     2000
    2006                     1000
    The cube name Custom Cube ZBBP_C03.
    But I dont have time char 0FISCYEAR in my Cube.In my cube avaiable chars are Calender Year,Calender Year/Month,Calender Year/Quarter,Fiscal Period
    Please let me know if you need any information.
    Waiting for replies,
    Thanks & Regards,
    Praveen.K

  • Explain the customer exit code?

    Hi,
    Any one explain this customer Exit written for a variable.
    When 'Zabcdefg'.
          clear: beg_fiscper, end_fiscper.
          call function 'DATE_TO_PERIOD_CONVERT'
            exporting
              i_date               = sy-datum
          I_MONMIT             = 00
              i_periv              = 'S1'
           importing
             e_buper              = period
             e_gjahr              = year
           exceptions
             input_false          = 1
             t009_notfound        = 2
             t009b_notfound       = 3
             others               = 4.
          if sy-subrc eq 0.
          Period = Period - 1.
            concatenate year period
                         into beg_fiscper.
            concatenate year period
                         into end_fiscper.
          endif.
          clear: l_s_range.
          l_s_range-sign   = 'I'.
          l_s_range-opt = 'BT'.
          l_s_range-low    = beg_fiscper.
          l_s_range-high   = end_fiscper.
          append l_s_range to e_t_range.
    Points will be definitely assigend.
    Vasu

    When 'Zabcdefg'.
    clear: beg_fiscper, end_fiscper.
    bold A fucntion module whcih converts the given date into the period
    call function 'DATE_TO_PERIOD_CONVERT'
    exporting
    i_date = sy-datum
    bold The date passed is the system date.
    boldThe other variable values are passed below
    I_MONMIT = 00
    i_periv = 'S1'
    importing
    e_buper = period
    e_gjahr = year
    exceptions
    bold Exceptions in case of not found values
    input_false = 1
    t009_notfound = 2
    t009b_notfound = 3
    others = 4.
    bold checking whether the execution is true and if true, the period is geting a period less minus one which is output from the function module.
    if sy-subrc eq 0.
    Period = Period - 1.
    bold joining the period and year
    concatenate year period
    into beg_fiscper.
    concatenate year period
    into end_fiscper.
    endif.
    bold passing output to the variable in the report.
    clear: l_s_range.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'BT'.
    l_s_range-low = beg_fiscper.
    l_s_range-high = end_fiscper.
    append l_s_range to e_t_range.

  • Customer Exit IMRC0001 for condition based preventive maintenance

    Dear Experts,
    I am using customer Exit IMRC0001 for creating maintenance order if my measuring point reading exeeds the thresold value or it is  out of the upper and lower limit range , which i have set for that particular Measuring point.
    This scenario is working fine if i am creating measuring point with unit *C (Degree centigrade-Temp).
    But it is not working fine for measuring point having unit other then *C
    Like : Kg/Cmsq, Bar, Run Hr, Vaccum, voltage, current, consumption etc
    The Reason for this i have found out.The logic return in the program only considers the *C unit
    Say if i set 50c as my target value in Measuring point*
    In Table IMPTT the value is getting stored as 50 + 273.15 = 323.15
    But if i enter 5 Ohm as my target value in Measring point
    In Table IMPTT the value is getting stored as 5 only.
    Target Value field name is DESIR
    So i want to know why for some units the same value is getting stored and why for some units value with some formula getting stored.
    Regards,
    Amar Jadhav

    does your characteristic allow decimals??
    also why not use deg K instead of deg C
    ignore above
    see note 525948
    Symptom
    When you change the target value of a measuring point, it seems as if the system updates incorrect values for the 'Target value' field in the change documents.
    Other terms
    IK02, IK03, IMPT
    Solution
    The internal display of field 'Measuring Point Target Value' has the SI unit belonging to the unit of measurement.
    Example:
    For temperatures, the target value can be displayed in the user interface (RIMR0-DESIC) in the units of measurement Celsius, Fahrenheit or Kelvin. However, the database display in field IMPTT-DESIR always refers to the respective SI unit Kelvin.
    As the change documents always refer to the database display, they also refer to the SI unit.
    Edited by: Virendra Pal on Oct 1, 2008 2:34 PM

  • Return Custom Exit Code

    Hello Experts,
    We are using Wise Script Wrappers to run Microsoft Updates (KB). Wise Script has Exit Installation Command through which we can control the Custom Exit codes return by the setup (Wrapper) .
    Case 1
    In our case when we use shutdown.exe at the end  after installation of KB's to reboot the machine the exit code reflected in sccm is 0 though we set Exit code 100 in Wrapper.
    Case 2
    When we dont reboot at the end of installation that is we dont use Shutdown.exe the Exit code return is 100.
    We cannot use Config manager restarts computer due to our business needs
    So Any help will be appreciated on how we can  control the custom exit codes
    Thanks,
    Apppack

    So the real question is why are you using non-standard exit codes?If you do non-standard things, you will get non-standard results.
    As Jérémy pointed out 3010 means "The requested operation is successful. Changes will not be effective until the system is rebooted." There are actually other standard error codes that indicate a pending reboot also but 3010 is the most common. A complete
    list of standard error codes is available at http://msdn.microsoft.com/en-us/library/cc231199.aspx.
    Jason | http://blog.configmgrftw.com

  • Code for Customer exit in a variable is required

    Hi Guys,
      Document numbers are flowing in to two OD's. These doc numbers are available in 'X' and 'Y' ODS's.
    We are missing some doc nos both the ODS's. we want to display those doc nos in a report.
    We Created an infoset on these two ODS's.We want to write a Code for the Ccustome exit on this document number.
    Can anybody suggest how to get these doc nos in areport.
    Can anybody help me in writing a code on customer exit.
    Pleas give suggestions how to display rhes doc nos in areport.
    Thanks,
    Nela

    Hi,
    case I_VNAM.
    when 'ZPRYRPER'.
    if I_STEP = '2'.
    loop at i_t_var_range into temp.
    append temp.
    endloop.
    read table temp with key vnam = '0S_FPER'.
    if sy-subrc eq 0.
    move temp-low to l1_period.
    move temp-high to l_period.
    endif.
    if l_period-gjahr = 0000.
    l_period-gjahr = 2020.
    endif.
    if l1_period-gjahr = 0001.
    l1_period-gjahr = 1990.
    endif.
    CLEAR E_T_RANGE_WA.
    l1_period-buper = '001'.
    l_period-gjahr = l_period-gjahr - 1.
    l1_period-gjahr = l_period-gjahr.
    E_T_RANGE_WA-SIGN = 'I'.
    E_T_RANGE_WA-OPT = 'BT'.
    E_T_RANGE_WA-HIGH = L_PERIOD.
    E_T_RANGE_WA-LOW = L1_PERIOD.
    APPEND E_T_RANGE_WA TO E_T_RANGE.
    endif.
    Regards,
    Marasa.

  • No user input for the field on which i need to write customer exit code.

    Hello everyone,
    Scenario:
    There are differrent lease type and there Start date and expiry date.
    each lease has to return somoe returns on some basis.
    selection screen has four options but none of them is date.
    My understanding:
    I need to get only those leases in my report whose expiry date is greater than system date/current calendar day.
    I am not selecting any date field in selection screen, so i need to get value of expiry date from cube, and than compare it to current date.
    So i need to write a customer exit in which i need to read date and restrict data on this expiry date.
    Requirment:
    Need a code for SAP exit variable which will meet the following requirment
    There are the following 4 variables in the query.
    1) material
    2) product hierarchy
    3) City
    4) lease type
    I need a customer Exit variable (CMOD) that will
    filter the records on the basis of condition-"lease expiry date is greater than current system" and display all the records whose expiry date is greate than Sy Date (Current Date) and also if expiry date is blank.
    kindly give me information on how i can write this code asap; and let me know if need more information.
    Thanks

    I am Getting the same error for both the codes that i have written...
    Do i Need to write sth else in the code...
    Code:
    WHEN 'ZVLIVELEASES'.
      IF I_STEP = 2.
            L_DATE = SY-DATUM.
            SELECT * FROM "DSO_ACTIVE_TABLE"
                INTO TABLE ITAB_LL where "EXPIRY_DATE" > L_DATE.
            LOOP AT ITAB_LL INTO WA_LL.
            CLEAR l_s_range.
            l_s_range-sign = 'I'.
            l_s_range-opt = 'EQ'.
            l_s_range-low = WA_LL-"EXPIRY_DATE".
           APPEND L_S_RANGE TO E_T_RANGE.
            ENDLOOP.
       ENDIF.
    Error: Error for variable in customer enhancement ZLIVELEASES

  • Need for customer exit code to go to previous date

    In the ODS there is a date which is a user entry on my report. I need to write a customer exit which goes to previous date.
    In other words let's say user entered 07/07/07 at the user entry, and there is no activity for the entered date. The previous activity date in ODS data is 07/05/07. The report should run based on the previous date. ( Date is the key by the way )
    I will appreciate any help with points,
    Regards,
    Mike

    I just wrote this quickly and I limited to 10 loops because something is wrong if it is further back than that and I think another solution should be done.  This is also assuming the volume of data is not too large.  If so you may want to take the year off the date and add that to the select statement.
    Can the previous date be any date?  So lets say the user entered 07/07/07 and the last activity was 01/01/07?  Is date the only key? 
    If so you can do something like this.
    date_ 1 like <date_ field in ODS>
    date_ 2 like <date_ field in ODS>
    counter(2) type n
      DATA:    BEGIN OF data_all OCCURS 0,
                 Date_ 3 like date_ 1
               END OF data_all
    date_ 1 = user enter
    counter = 10
    Select <date_ field> from <ods backend table> into data_all
    Sort ascending
    While counter > 0
       Read data all where data_all-date_3 = date_1
    If sy-subrc <> 0
      Date_ 1 = date_ 1 – 1
    Counter = counter - 1
    Continue.
    Else
    date_2 = date_1
    Exit.
    Endif
    End loop
    Return date_2

Maybe you are looking for