SAP BEx Customer Exit

Hi Gurus,
I've implemented the code below for my report to display Required Start Date (MM/DD/YYYY) by searching and processing either a single Fiscal Year/Period (PPP/YYYY to PPP/YYYY) input or a range/interval Fiscal Year/Period (PPP/YYY) input. The details are,
1) Created 1 User Entry Interval Mandatory Variable under Fiscal Year/Period InfoObject (Display) - ZFYP_IN
2) Created 1 Customer Exit Interval Mandatory Variable under Required Start Date InfoObject (Output) - ZRSD_CX
*&  Include           ZXRSRU01
DATA: L_S_RANGE1 TYPE RSR_S_RANGESID,
      L_S_RANGE TYPE RSR_S_RANGESID,
      LOC_VAR_RANGE TYPE RRS0_S_VAR_RANGE,
      ZYEAR TYPE T009B-BDATJ,
      ZMM TYPE T009B-POPER,
      ZMM1 TYPE T009B-POPER,
      ZYEAR1 TYPE T009B-BDATJ,
      ZSTARTDATE TYPE SY-DATUM,
      ZENDDATE TYPE SY-DATUM.
IF I_STEP = 2.
CASE I_VNAM.
**To populate ZCURDAY with current system date**
   WHEN 'ZCURDAY'.
    CLEAR: L_S_RANGE1.
    L_S_RANGE1-LOW    = SY-DATUM.
    L_S_RANGE1-SIGN   = 'I'.
    L_S_RANGE1-OPT    = 'EQ'.
    APPEND L_S_RANGE1 TO E_T_RANGE.
**To Lookup ZREQSTDAT with 0FISCPER*************
**This loop will capture the Fiscal Year/Period range input by the user**
   WHEN 'ZRSD_CX'.
    READ TABLE i_t_var_range WITH KEY VNAM = 'ZFYP_IN'
      INTO LOC_VAR_RANGE.
    IF SY-SUBRC = 0.
       CLEAR L_S_RANGE.
**This 2 call functions are used to convert the Fiscal Year/Period range into**
**Calendar Day range for use on further lookup in Required Start Date**
       ZYEAR = LOC_VAR_RANGE-LOW(4).
       ZMM = LOC_VAR_RANGE-LOW+4(3).
       CALL FUNCTION 'FIRST_DAY_IN_PERIOD_GET'
         EXPORTING
           I_GJAHR              = ZYEAR
         I_MONMIT             = 00
           I_PERIV              = 'SC'
           I_POPER              = ZMM
         IMPORTING
           E_DATE               = ZSTARTDATE.
       IF ZMM EQ 012.
          ZMM1 = '001'.
          ZYEAR1 = ZYEAR + 1.
       ELSE.
          ZMM1 = ZMM + 1.
          ZYEAR1 = ZYEAR.
       ENDIF.
       CALL FUNCTION 'FIRST_DAY_IN_PERIOD_GET'
         EXPORTING
           I_GJAHR              = ZYEAR1
         I_MONMIT             = 00
           I_PERIV              = 'SC'
           I_POPER              = ZMM1
         IMPORTING
           E_DATE               = ZENDDATE.
       ZENDDATE = ZENDDATE - 1.
**A third and final function to use the calendar day range provided to lookup on matching**
**dates in Required Start Date (ZREQSTDAT)*************************************************
       L_S_RANGE-SIGN  = 'I'.
       L_S_RANGE-OPT   = 'BT'.
       L_S_RANGE-LOW   = ZSTARTDATE.
       L_S_RANGE-HIGH  = ZENDDATE.
       APPEND L_S_RANGE TO E_T_RANGE.
    ENDIF.
ENDCASE.
ENDIF.
However, after doing extensive testing I discovered that the code is only able to process 1 period at a time versus an interval of periods as required.
For example,
Input Fiscal Year/Period Interval - 001/2011 to 004/2011
Expected returned dates - 02/27/2010 to 07/02/2010 (4 periods)
Actual returned dates - 02/27/2010 to 04/02/2010 (only 1 period, the 1st period and not the balance 3 periods)
Only the first period is returned versus the periods entered. I'm not sure what is missing from the code to process the entered interval.
Appreciate any help provided.
Warm regards,
Eric

Hi,
After looking your code, I think the problem is at the below mentioend part.
WHEN 'ZRSD_CX'.
READ TABLE i_t_var_range WITH KEY VNAM = 'ZFYP_IN'
INTO LOC_VAR_RANGE.
IF SY-SUBRC = 0.
CLEAR L_S_RANGE.
**This 2 call functions are used to convert the Fiscal Year/Period range into**
**Calendar Day range for use on further lookup in Required Start Date**
ZYEAR = LOC_VAR_RANGE-LOW(4).
ZMM = LOC_VAR_RANGE-LOW+4(3).
Here, you should put validation like this.
If not LOC_VAR_RANGE-LOW is initial.
      If not LOC_VAR_RANGE-HIGH is initial
          ZYEAR = LOC_VAR_RANGE-HIGH(4).
          ZMM = LOC_VAR_RANGE-HIGH+4(3).
         else.
          ZYEAR = LOC_VAR_RANGE-LOW(4).
          ZMM = LOC_VAR_RANGE-LOW+4(3).
endif.*
else.
put a validation to see that some input is given for fiscal year
endif.
only after these lines go for your function modules. This way, if your variable has range given, it would calculate till the higher range given for fiscal period.
Edited by: Rahul K Rai on Jul 15, 2010 11:17 AM
Edited by: Rahul K Rai on Jul 15, 2010 11:18 AM

Similar Messages

  • Default value of BeX customer Exit variable not Displayed in WeBI??

    Hello Experts,
    We are stuck with a problem where WeBI report is created on top of BeX query and we are not able to see the default value of Bex Customer exit variable in WeBI run. Here is the complete scenario:
    1. One restricted KF is created in BeX, restricted with Customer exit variable on net Due date. And this variable is mandatory, ready for input, and Default value in calculated is user exit as current Week's Monday.
    2. So, by default KF data should be restricted to Monday of current week, if user does not change this value.
    3. Now, WeBI report is created on top of this Bex query, and all is working fine, i.e. we are getting variable as Prompt in WeBI, but Default value is not shown while Running the Webi Report.
    So, need your inputs on the same, if default values from BeX in WeBI is supported or not? If yes, why this is happening, and how to resolve it?
    Please notice, the restrcition is in KF only, it is not a separate restrcition on Net Due date in Filter area or in Defualt area of BeX
    and we are on SAP BW 7.1 and BOXI 3.1 SP4.
    Regards,
    Vipul
    Edited by: VIPUL GOYAL on Nov 23, 2011 9:44 PM

    Hi,
    See 1285993 - Support of Customer Exit Variables from BEx query into WebIntelligence via OLAP universe
    WebI will prompt when executed, but the default values calculated by the user exit  - do not appear.
    Note: If the BEx variable has property 'ready for input' set / enabled, then its WebI prompt shows ok, but no default value appears.
    Cause
    This behaviour expected 'by design' (in the context of the product's current limitations) as explained in the online guide below:
    Please refer to Chapter 7, page 44, document link here: http://help.sap.com/businessobject/product_guides/boexir3/en/xi3_sap_olap_universes_en.pdf
    Characteristic variable > processing type > Customer Exit  is "Supported, without user entry"                                                                               
    -->  This should be understood as meaning "User will not be shown a prompt"
    regards,
    H

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

  • 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

  • How to get the offset value in the Bex customer exit?

    Hello Friends,
    I have defined an offset on a variable in the query definition.
    I wish to capture this offset value  in the Bex variable customer exit .
    Does anyone how to get this??
    Thanks,
    Gautam

    I dont think you can capture the offset applied value in a exit as the value is dependent on the variable itself and nothing to capture the result after the offset has been applied.
    why dont you capture the variable value itself and apply the logic to do an offset in the customer exit?

  • Where is the BEX customer exit's code

    Hi:
      There is a customer exit named ZFI_E_FPER_CY in bex. i want to  see the code of this exit.   i tried to find it in function moudle EXIT_SAPLRRS0_001 and ZXRSRU01.but the code is not inculded there.
    can anybody tell me how to find this customer exit's code.
    thanks and regards.

    i know now . there is a function :
      CALL FUNCTION funcname
        EXPORTING
          i_vnam        = i_vnam          "var nm
          i_vartyp      = i_vartyp        "var type text, char,formula etc
          i_iobjnm      = i_iobjnm        "infoobject var refers to
          i_s_cob_pro   = i_s_cob_pro     "infoobject properties
          i_s_rkb1d     = i_s_rkb1d       "Query Reporting Attribute
          i_periv       = i_periv         "Query Definition Attribute
          i_t_var_range = i_t_var_range
          i_step        = i_step
        IMPORTING
          e_t_range     = e_t_range
          e_meeht       = e_meeht
          e_mefac       = e_mefac
          e_waers       = e_waers
          e_whfac       = e_whfac
        CHANGING
          c_s_customer  = c_s_customer.
    if the value in this function is  fill the request,it's not neccessary to deal anymore.

  • Problem with Bex Customer Exit Variable

    Hi Friends,
    I have a customer exit variable which is getting filled based on the User Input.  I have written the code inside the If condition checking i_step = 2. The code is working as required.
    But the problem is when I try refreshing the query or change the user variable selection, the Customer exit variable is not changing.  I tried to debug the code and realized that the  values for the exit variable based on the previous selection is not cleared and the i_step = 2  is not being executed for the variable.
    While I close and reopen the query, the code is working fine.  
    Does anyone know why this is happening?  Please suggest..
    Thanks in advance..
    Regards,
    Priya

    Hi Binu,
    Here is the code sample.  I am trying to populate the month based on the input Week number '0I_WEKIN'
    .  For eg.  If I give 37.2011, the month value should be 08.2011.  If I give 39.2011, month should be 09.2011.
      WHEN 'ZC_MONTH'.
        IF i_step = 2.     "after the popup
            READ TABLE i_t_var_range INTO lw_var_range WITH KEY vnam =
        '0I_WEKIN'.
           IF lw_var_range-high IS NOT INITIAL.
              l_week  = lw_var_range-high.
              l_week = l_week - 3.
              CALL FUNCTION 'WEEK_GET_FIRST_DAY'
                EXPORTING
                  week = l_week
                IMPORTING
                  date = l_date.
              lw_range-low = l_date+0(6).
            ENDIF.
            lw_range-sign = 'I'.
            lw_range-opt  = 'BT'.
            APPEND lw_range TO e_t_range.
        ENDIF.
    Regards,
    Priya

  • Bex Customer Exit

    Hi All,
    I have written customer exit code to fetch the records.In my customer exit code i have given <b>l_s_range-sign = 'EQ'</b> the code is working fine.but when i want to disaply the records between 1/3/2007 to 31/3/2007 and when i say l_s_range-sign = 'BT' its throwing error like <b>error for variable in customer enhancement</b>.one thing we have to observe here is when i say EQ its fetching records, when i replace EQ with BT (remaining code is same) its giving me this error.I am using ECC 6.0 system.so ECC wont support sign option BT.if it is so then what is the other options to reslve the problem.
    Thanks ,
    vid

    Hi Srikanth,
    I have given values for low ,high ,sign and option.
    low as 01.03.2007
    high as 31.03.2007
    sign as I
    option as EQ.
    when i give above conditions it will check whether any records existing corresponding to the dates of 01.03.2007 and 31.03.2007 (since we have given EQ its checking for equal records corresponding to that dates) and its showing correct records.
    but my requirement is i have to fetch records between the dates of 01.03.2007 and 31.03.2007 .so as per this requirement if i change the option as BT its throwing me error.
    Hope u got me what i want to tell u.
    vid

  • Bex Customer Exit (Doubt)

    Hi ,
    I would really appreciate if anyone could explain me the below said in brief.
    "  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 ".
    Consider the below variable for example and post ur comments.
    WHEN 'ZYTDWRK'.
        IF i_step = 2.
          CLEAR loc_var_range.
          LOOP AT i_t_var_range INTO loc_var_range.
            IF loc_var_range-vnam(7) = 'ZWORKDY'.
              v_year = loc_var_range-low+0(4).
              v_month  = loc_var_range-low+4(02).
              CONCATENATE v_year '01'  INTO l_s_range-low.
              CONCATENATE v_year v_month INTO l_s_range-high.
              l_s_range-sign = 'I'.
              l_s_range-opt  = 'BT'.
              APPEND l_s_range TO e_t_range.
              EXIT.
            ENDIF.
          ENDLOOP.
        ENDIF.
    Regards..
    Balaji

    refer: http://help.sap.com/saphelp_nw70/helpdata/EN/1d/ca10d858c2e949ba4a152c44f8128a/frameset.htm it shall clear your doubt

  • How to find CUSTOMER EXIT for a Standard SAP program

    How to find CUSTOMER EXIT for a Standard SAP program

    Hi
    To introduce the techniques of enhancement in standard SAP system. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
    They do not affect standard SAP source code.
    When you add new functionality to your SAP System using SAP’s exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAP’s standard software package.
    They do not affect software updates.
    When you add new functionality to your SAP System using SAP’s exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects’ names ensure that they will not be affected by any changes or new additions to the standard software package.
    Customer exits are not available for all programs and screens found in the SAP System.
    Any change made to an SAP object in a customer system is called a modification. Customers usually modify their systems for one of two reasons. Either they make changes to the SAP standard in order to adjust the R/3 System to their specific business needs (actual modifications), or they alter individual SAP objects in order to correct an error (as recommended in an SAP error note).
    You should only modify the SAP standard if the modifications you want to make are absolutely necessary for optimizing work flow in your company. Be aware that good background knowledge of application structure and flow are important prerequisites for deciding what kind of modifications to make and how these modifications should be designed.
    SAP application programmers create SAP enhancements in transaction SMOD using function module exits, menu exits, and screen exits.
    Customers are given a catalog containing an overview of existing SAP enhancements. They can then combine the SAP enhancements they want into an enhancement project using transaction CMOD.
    SAP enhancements are made up of component parts. These components include function module exits, menu exits, and screen exits. A specific component may be used only once in a single SAP enhancement (this guarantees the uniqueness of SAP enhancements).
    Customer enhancement projects consist of SAP enhancements. Each individual SAP enhancement may be used only once in a single customer enhancement program (this guarantees the uniqueness of a customer project).
    SAP application programmers preplan function module exits, menu exits, and screen exits for their applications and combine them to create useful enhancements for the R/3 System.
    Customers create their own enhancement projects for their systems using SAP enhancements. You can customize the individual components of an enhancement project by creating your own include programs (for function module exits), texts (for menu exits), and subscreens (for screen exits).

  • Give me details about  customer exit, sap exit using characterstics variabl

    give me details about  customer exit, sap exit using characterstics variable

    Hi,
    Customer Exit:
    http://help.sap.com/saphelp_nw04/helpdata/en/f1/0a56f5e09411d2acb90000e829fbfe/content.htm
    SAP Exit:
    http://help.sap.com/saphelp_nw04/helpdata/en/f1/0a56f5e09411d2acb90000e829fbfe/frameset.htm
    Characteristic Variables:
    http://help.sap.com/saphelp_nw04/helpdata/en/5c/8db07d555411d189660000e829fbbd/frameset.htm
    SAP and Customer Exit:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f1a7e790-0201-0010-0a8d-f08a4662562d
    Some Imp Docs:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/650ee690-0201-0010-4bb7-83c3e2a74039
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/009819ab-c96e-2910-bbb2-c85f7bdec04a
    Assign points if these are helpful.
    Rgs,
    I.R.K

  • Error Message : " No value could be determined for Customer Exit Variable "

    Hello BI Experts ,
    I have created a "ZYTD_PERIOD" Customer Exit Variable  Interval  Mandatory and ready for input check mark removed.
    The reference character is '0FISCPER' .
    I want to have YTD figures when the user enter single Fiscal Year Period for variable 0P_FPER.
    So I have written below code in SE37 : EXIT_SAPLRRS0_001 and include program : ZXRSRU01
    ==================================================================
      case i_vnam.
                  WHEN 'ZYTD_PERIOD'.
                  IF I_STEP = 2.
                  LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = '0P_FPER'.
                  CLEAR L_S_RANGE.
                  L_S_RANGE-LOW0(4) = LOC_VAR_RANGE-LOW0(4).
                  L_S_RANGE-LOW+4(3) = '001'.
                  L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
                  L_S_RANGE-SIGN = 'I'.
                  L_S_RANGE-OPT = 'BT'.
                  APPEND L_S_RANGE TO E_T_RANGE.
                  EXIT.
                  ENDLOOP.
                  ENDIF.
    ===================================================================
    After that I use this 'ZYTD_PERIOD' variable in the query .
    Also I have used the variable 0P_FPER in another structure.
    When I execute the query by entering the value of 0P_FPER as 010.2009 or any other value ,
    I am getting below error message ,
    *No value could be determined for variable ZYTDPERIOD*_
    Below is details of this Error message ,
    Note that I have proper Master and Text data for 0CO_AREA and 0COMP_CODE loaded into BI.
    =======================================================================
    Diagnosis
    This error diagnosis is specific only to the variables 0P_FVAEX or 0P_CTPCA !
    Termination message BRAIN 632 appears:
    Could not determine value for variable 0P_FVAEX (or 0P_CTPCA).
    System Response
    1. Operation method of SAP-Exit-Variables 0P_FVAEX or 0P_CTPCA
    With queries from the CO application, both SAP-Exit-Variables look for an entry for 'controlling area'. With this controlling area from the selection screen, the SAP-Exit-Variables program reads the attributes for InfoObject 0CO_AREA (controlling area).
    With queries from the FI application, the SAP Exit Variable 0P_FVAEX looks for an entry for 'company code'. With this company code from the selection screen, the SAP Exit Variables program reads the attributes for InfoObject 0COMP_CODE (Company Code).
    0P_FVAEX determines the fiscal year variant (attribute 0FISCVARNT) from the attributes for 0CO_AREA (CO queries) or 0COMP_CODE (FI queries). 0P_CTPCA determines the currency type of the profit center local currency (attribute 0CURTP_PCA) from the attributes for 0CO_AREA.
    2. Cause of Error
    The attributes for the controlling area (InfoObject 0CO_AREA) or company code (InfoObject 0COMP_CODE) were not loaded into the BW system, or the attributes for the controlling area are not active in the BW system.
    Check whether this is the cause of the error in your BW system. Display the contents of table /bi0/mco_area or /bi0/mcomp_code using transaction se16.
    Application CO:
    Check whether the attributes 'fiscal year variant' (field FISCVARNT) and 'profit center local currency currency type' (field CURTP_PCA) are filled in the 'A' version (field OBJVERS) for the selected controlling area. If the fiscal year variant in the OBJVERS = 'A' is empty, then the error is with variable 0P_FVAEX. If the currency type of the profit center's local currency in OBJVERS = 'A' is empty, then the error is with variable 0P_CTPCA.
    Application FI:
    Check whether or not the attribute 'fiscal year variant' (field FISCVARNT) is filled in the 'A' version (field OBJVERS) for the selected controlling area. If the fiscal year variant is empty in OBJVERS= 'A', then the error is with variable 0P_FVAEX.
    Procedure
    Using InfoSource 0CO_AREA, load the attributes for the controlling area or company code into your BW system.
    Afterwards, activate the attribute changes in your BW system. To do this, use transaction rsa1, path 'Tools > Hierarchy/Attribute changes', functions button 'InfoObject list'. Choose InfoObject 0CO_AREA or 0COMP_CODE from this list, and activate the attribute changes.
    =====================================================================================
    Is there any special settings needed before writing BEx Customer Exit ?
    I have already created a project in CMOD and assinged a proper RSR00001
    and EXIT_SAPLRRS0_001 and project is active.
    Any help please ....
    Regards ,
    Amol

    My Code is as below ,
              case i_vnam.
                  WHEN 'ZYTD_PERIOD'.
                  IF I_STEP = 2.
                  LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = '0P_FPER'.
                  CLEAR L_S_RANGE.
                  L_S_RANGE-LOW0(4) = LOC_VAR_RANGE-LOW0(4).
                  L_S_RANGE-LOW+4(3) = '001'.
                  L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
                  L_S_RANGE-SIGN = 'I'.
                  L_S_RANGE-OPT = 'BT'.
                  APPEND L_S_RANGE TO E_T_RANGE.
                  EXIT.
                  ENDLOOP.
                  ENDIF.
                  ENDCASE.

  • Changing a customer exit variable in Step 2 which was already set in Step 1

    Hello,
    i have the following problem.
    There are 2 BEx customer exit variables A and B.
    Variable A is filled in Step 1 before the user dialog appears.
    Variable B is determined in Step 2 in dependence of variable A.
    Now i want to change variable A in dependence of user entry althoug it was already filled in step 1. Can i somehow force the variable manipulation in step 2 for a single variable wich has already been set in step 1?
    Or is there a way to change all variables at once after they have been set e.g. in step 3?
    Regards,
    Alexander

    Hello Alexander!
    It's true: You cannot change values that were entered in step 1. It's a feature This is supposed to make sure that a value that was entered (or confirmed) by the user can never be changed by any piece of coding - customer or SAP. If that possibility existed, then that would create some real issues for reliability and also support.
    What is your scenario that you are trying to solve? Maybe there's another way to do it?
    Regards,
    Christian!

  • What is diff b/w user & customer exit

    Hi
    Good afternoon everybody,
    Plz differentiate user exit and customer exit.
    What is the way to findout user exits and how to modify it.
    Thanks in advance
    Venkat

    Hi Venkat,
    Check the following description
    Customer exits: The R/3 enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
    If you want to enhance the functionality of your SAP System, you should take advantage of the exits available in standard R/3 applications. There are two main reasons why you should use exits rather than modifying SAP software yourself. Add-ons attached to exits have the advantage that:
    They do not affect standard SAP source code
    When you add new functionality to your SAP System using SAP’s exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAP’s standard software package.
    They do not affect software updates
    When you add new functionality to your SAP System using SAP’s exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects’ names ensure that they will not be affected by any changes or new additions to the standard software package.
    In contrast to customer exits, user exits allow developers to access and modify program components and data objects in the standard SAP System.
    User exits: Programs with user exits contain subroutine calls at certain points in their syntax that are identified by the prefix USEREXIT. The actual user exits are located in an include that has been assigned to a module pool. This is where customers can include any changes (enhancements) that they want to make to the system. These includes are always processed during program flow.
    I hope this helps.
    Regards,
    Kinshuk

  • Difference b/w Customer exits and User Exits

    Hi,
    Can anybody explain diff b/w user exits and customer exits .
    How to find out and Impement the coding ..
    Thanks Advance
    Rohan.A

    Hi Rohan,
    Check this matter , this may be helpful to you.
    <b>CUSTOMER EXITS</b>
    The enhancement concept allows you to add your own functionality to SAP’s standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
    If you want to enhance the functionality of your SAP System, you should take advantage of the exits available in standard applications. There are two main reasons why you should use exits rather than modifying SAP software yourself. Add-ons attached to exits have the advantage that:
    •        They do not affect standard SAP source code
    When you add new functionality to your SAP System using SAP’s exits, you do not alter the source code of standard SAP programs in any way. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but exist separately from SAP’s standard software package.
    •        They do not affect software updates
    When you add new functionality to your SAP System using SAP’s exits, your objects (called customer objects) must adhere to strict naming conventions. When it comes time to upgrade a to a new software release, customer objects’ names ensure that they will not be affected by any changes or new additions to the standard software package.
    Customer exits are not available for all programs and screens found in the SAP System. You can only use customer exits if they already exist in the SAP System.
    <b>User exits :</b>
    1. Introduction
    2. How to find user exits
    3. Using Project management of SAP Enhancements 
    1. Introduction:
    User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
    The naming standard of function modules for functionmodule exits is: 
    EXIT_<program name><3 digit suffix> 
    The call to a functionmodule exit is implemented as:
    CALL CUSTOMER.-FUNCTION <3 digit suffix>
    Example:
    The program for transaction VA01 Create salesorder is SAPMV45A
    If you search for CALL CUSTOMER-FUNCTION i program
    SAPMV45A you will find ( Among other user exits):
    CALL CUSTOMER-FUNCTION '003'
      exporting
        xvbak   = vbak
        xvbuk   = vbuk
        xkomk   = tkomk
      importing
        lvf_subrc = lvf_subrc
      tables
        xvbfa = xvbfa
        xvbap = xvbap
        xvbup = xvbup.
    The exit calls function module EXIT_SAPMV45A_003
    Hope this is helpful.
    Reward all the helpful answers.
    Regards

Maybe you are looking for

  • Can I set up a form to carry over daily balances?

    I have Adobe X. I am required to complete a form accouning for daily activity. Currently, I have to write down the daily balances , open a form template, manually enter the previous daily balances as my new beginning balances. I then fill out the res

  • Splitting target IDocs(File to Idoc scenario)

    Hi Experts, Customer ........Recordset(1..unbounded) Header ........................Child1 ........................Childn For each header I need to create an IDOC. WABC ........IDOC ...........Header ...........Item I've mapped IDOC to Header. So, wh

  • Vedor not cleared in f-44

    Hi, vendor not appearing in F-44 even though it is there in FBL1N, but i  have payement proposal ran and completed, i cannot able the delete the payment proposal as it is paid. what is other way to get rid of this issue. regards, Prakash

  • Data is not displaying though Master Infoobject data has been maintained

    Hi All, I have created a Master Infoobject and maintained data manually. Also activated the master data. But Iam unable to see the data I manually entered, when Im trying to Display Data at the right click of the infoobject. Can someone plz suggest m

  • Iphone is synced with another library

    My computer broke so I had the hard drive replaced. How do I sync my iPhone with my new hard drive without wiping my iphone?