Internal structures available in user exit

How can I found out all the internal structures that are populated and available in a user exit or any point in code.
Specifically I am looking at RV60AFZC routine USEREXIT_FILL_VBRK_VBRP and want to fill MWSKZ which is in KOMV. But I would like to learn a new technique that I can use for any program. Thank you.

Hello,
You can know if the particular structure is available in your session in either old or new debugger, all you need to do is
(SAPLHRBEN00ESS)EVENT_DESCRIPTION_GS
Where SAPLHRBEN00ESS -> Program Name
          EVENT_DESCRIPTION_GS -> Structure (wa), Internal Table that you want to access.
Hope it helps.
Thanks,
Jayant

Similar Messages

  • Making parmanent changes to a internal table inside a user exit

    Hi All,
    I am having a User exit to which I am passing a structure as importing parameter.
    The user exit is not exporting the same structure, but is exporting some other values.
    My problem is that I want to make parmanent changes in the structure I am passing to the user exit.
    Currently what is happening:
    I am passing the structure to the user exit. It has got 6 rows. Inside the user exit I am making some changes to a particular field of all the rows. Till the program control is inside the user exit the changes in the structure are visible. As soon as the control come out of the user exit, the values for the field are switched to teh old values(values before passing to teh user exit).
    My question is, is there any method to make changes to a internal table inside a user exit and these changes are visible outside it when the program control come out of the user exit. (This is when the internal table to which the change is made in not exported by the user exit)

    Hi Dear,
    Your changes done in import parameters will not reflect outside exit. You can only change the values of export parameters...
    If you have very urgent requirement then make changes in SAP''s Standard code.
    For your problem you can write to SAP. In many cases SAP provides the solution.
    Award Points If Useful.

  • Is the Sales Order Item User Status available in user exit MV45AFZZ

    Hello,
    Does anyone know if a sales order line item user status is available within user exit MV45AFZZ (USEREXIT_SAVE_DOCUMENT)?
    I need to send an email when the status changes from one specific value to another specific value but I don't seem to have access to what the latest value is in this user exit.
    I have found a table XTVSTAT which cntains some user status' but it's not clear which status maps to which line item.
    If anyone has any suggestion please let me know.
    Thanks,
    Ruby

    Hi,
    I do need to access the values as I need to check for a specific change to the user status from value A to value B.
    I have already tried debugging the user exit and searching through the available variables but the status information doesn't seem to be available.
    I guess I will have to try the output determination route. Can you explain this in a bit more detail please.
    Thanks,
    Ruby

  • Availability checking user exit at sales order level

    Hi ,
    Is ther any availability Check user Exit at the sales order level?
    1)I want to make Confirm quantity to zero in the sales order level
    2)The block confirmation is set to VBEP-BMENG to "0" for each item where VBEP-LIFSP =Z1
    Is ther any related USEREXIT in the sales order  to make confirm quantity to ZERO
    (VBEP-BMENG=0)
    Ragu

    may be you can try putting some logic is MV45AFZZ in USEREXIT_MOVE_FIELD_TO_VBEP
    or in the exitSDTRM001 - Reschedule schedule lines without a new ATP check. 
    Regards
    Sai

  • How to find the structure in this user exit

    My requirement is add new field to Delivery due list ALV report(VL10G).For enhance this report i will append one field(LIKP-SDABW) in this structure SHP_VL10_ITEM.This structure is not showing in the include LV50R_VIEWG05
    USEREXIT_PREPARE_LAYOUT_FILL .Where i have to find this structure,and internal tables?
    Please help me.
    Thanks & Regards,
    sairam

    Hi Sairam,
    Goto the program for transaction VL10G.In that u make a seach for the user-exit
    USEREXIT_PREPARE_LAYOUT_FILL.Then write the logic inside tht.U will need an access key for that.
    <b>Reward points if it solves ur query or answer is helpful</b>
    Thanks
    Chinmay

  • Material availability Date - User Exit

    Dear All,
    Can any one help me in finding out User Exit to change Material Availability date in VA01, which system propose automatically.
    The Problem is I need to assign Mat aval. date as say SY_DATUM + 60. Then system should take this date for ATP calculation(for eg: Loading date,Goods issue date,Transport.plan.date) and finally it should propose Delivery date.
    It would be great helpfull for me if any one help me in this issue ASAP.
    Advance Thanks for your help
    With Regards
    K.Babu

    Hi,
    Try using USEREXIT_AVAILABILITY_IN(RV03VFZZ) or USEREXIT_ADD_FIELD_TO_LINE(FV45VFZZ) exits in SD. Due to various combinations possible (for example if you use route-scheduling it may behave differently than otherwise), it may not be possible to apply a common logic.
    I would suggest using USEREXIT_ADD_FIELD_TO_LINE to modify the date fields in the structure MVERF (field EDATU : Delivery date, MBDAT : Material avail. date and so on). At this point, system has already calculated the first set of dates based on customer requested delivery date, so you will need to do adjustments in all fields accordingly.
    Eg in this exit:
    w_date = sy-datum + 60.
    offset = w_date - mverf-mbdat.
    mverf-mbdat = mverf-mbdat + offset.
    mverf-lddat = mverf-lddat + offset.
    mverf-edatu = mverf-edatu + offset.
    Please note it will need some adjustments if you have a shipping calendar (eg sundays off..) in which case the offset may be a little different for EDATU.
    cheers,

  • Internal error in SAP user exit

    Hi,
      i am working on the SAP user exits in SD module for Free goods enhancement, if customer buys 100 goods in 'X' material we have to provide 'Y' quantity of goods as free. i did coding part under the standard program "MV45AFZZ " in the form" user exit_save_document_prepare", its working fine in creation of sales order in VA01 transaction the free goods are getting added correctly.
    But, while changing the sales order in VA02 transaction the free goods are not getting updated after changing the order quantity. its just displaying the following error "An internal system error occurred. See note 442831."
    kindly help me to solve this issue.

    Dear vinod,
    No, this can't be done because with the help of configuration we can able to do only for 1:1 relationship.
    but this includes n :1 relationship free goods.so we need to develop code.in that only during execution only am getting this internal error.

  • Need to check structure condition in user exit RV60AFZ,

    Hi all, i need to write a condition for  vf01(create billing document) in user exit * RV60AFZC * .
    the condition is :
    if vbak-auart = 'TA' and  KOMV-KSCHL = 'JIN7'.
      VBRK-FKART = 'ZFCS'.    
      ENDIF. 
    but the problem here is that komv is structure so the above condition is not working.
    If i give condition as
    if vbak-auart = 'TA' .
      VBRK-FKART = 'ZFCS'.    
      ENDIF. 
    then the user exit is working.
    So any one please suggest me how to make the above condition work.
    thanks in advance,
    koolspy.

    Hi
    Perhaps you can try this, but be careful with performance.
    In VBAK you have the value for KNUMV. So, as I understand that you refer to the value of KNUMV for the SO (not for the invoice that you are doing), try this:
      DATA: i_konv LIKE konv OCCURS 10 WITH HEADER LINE.
      SELECT * FROM konv
        INTO TABLE i_konv
         WHERE knumv = vbak-knumv.
      READ TABLE i_konv WITH KEY kschl = VALUE.
      IF sy-subrc = 0.
       IF vbak-auart = value2.   "OR OTHER CONDITION
           "DO WHAT YOU WANT.
       ENDIF.
      ENDIF.
    Newly, be careful with performance (try with a select single on KONV, etc...)
    I hope this helps you
    Regards
    Eduardo

  • How to Refresh "Internal table values" in User EXIT.

    Dear All,
    My requirement is to place some checks in exit ZXQQMU20 in different tabs from the TCODE IW21 . IW22 etc.
    Now after placeing the checks towards the different tabs while doing "NOCO" from IW21 the conditions are fullfilled but
    when i go ahead to modify the created  "NOCO " from the TCODE IW22 by deleting the created values and saving in IW22 , the conditions written in the exit are still satisfied eventhough i have deleted the values in IW22.
    The reason for this is that the tables which are there in the exit ZXQQMU20 T_VIQMFE , T_VIQMUR , T_VIQMMA
    still contains the old values which were there at the time of creation of "NOCO"  in IW21 .
    How to refresh my " internal tables values" used in such that even at the time of modification of the NOCO through IW22 my table values should pick the current screen values and not the values which were there at the time of creation.
    Please help.
    The code i have written in the exit is as below:-
    ********************* Changed vide ******START
    *****IW21  IW22 also added in filter criteria of notification *************
    ******The purpose of this modification is that in the execution of IW21 or IW22 or IW24 or IW25 we have to give a check that if the
    ******notification type is M2 than inside the Transaction screen , if the Breakdown duration comes less than 15 min than there are
    ******no issues but if the breakdown duration is more than 15 min than the mandatory fields needs to be entered in the analysis tab.
    **    The user has to fill up either following mandatory fields in Analysis Data tab.
    **    A. Object Parts & Damages sub tab
    **    Code Group - Object Parts (OTGRP, VIQMFE)
    **                          AND
    **    Code Group - Problem / Damage (FEGRP, VIQMFE)
    **    Or
    **    Notification Item Short Text (FETXT, VIQMFE)
    **   B. Cause sub tab
    **    Code Group # Causes (URGRP, VIQMUR)
    **    Or
    **    Cause Text (URTXT, VIQMUR)
    **   C. Action Taken sub tab
    **    Code Group # Activities (MNGRP, VIQMMA)
    **    Or
    **    Activity Text (MATXT, VIQMMA)
    **            Then, allow user to complete notification (NOCO).
    CLEAR : L_VAR , L_COMP_TIME.
    IF ( SY-TCODE EQ 'IW21' OR SY-TCODE EQ 'IW22' OR SY-TCODE EQ 'IW24' OR
          SY-TCODE EQ 'IW25' ).
       IF ( E_VIQMEL-IWERK = '061' ) OR ( E_VIQMEL-IWERK = '062' ).
         IF E_VIQMEL-QMART = 'M2'.
           L_VAR = E_VIQMEL-AUSZT.
           L_COMP_TIME = L_VAR / 60.
           IF L_COMP_TIME < 15.
             EXIT.
           ELSEIF L_COMP_TIME > 15..
    *         IF ( T_VIQMFE-OTGRP IS INITIAL AND T_VIQMFE-FEGRP IS INITIAL )  OR  ( T_VIQMFE-FETXT IS INITIAL ) .
    *           MESSAGE 'Please fill the mandatory analysis data in Object Parts' TYPE 'E'.
    *         ENDIF.
             IF T_VIQMFE-OTGRP EQ '' OR T_VIQMFE-FEGRP EQ ''.
               IF T_VIQMFE-FETXT EQ ''.
                 MESSAGE 'Please fill the mandatory analysis data in Object Parts' TYPE 'E'.
               ENDIF.
             ENDIF.
             CLEAR L_TAG.
             IF T_VIQMUR[] IS INITIAL.
               MESSAGE 'Please fill the mandatory analysis data in Cause tab' TYPE 'E'.
             ELSE.
               LOOP AT T_VIQMUR.
                 IF  T_VIQMUR-URGRP IS INITIAL .
                   IF T_VIQMUR-URTXT IS INITIAL.
                     L_TAG = 'X'.
                   ENDIF.
                 ENDIF.
               ENDLOOP.
               IF L_TAG = 'X'.
                 MESSAGE 'Please fill the mandatory analysis data in Cause tab' TYPE 'E'.
               ENDIF.
             ENDIF.
             CLEAR L_TAG.
             IF T_VIQMMA[] IS INITIAL.
               MESSAGE 'Please fill the mandatory analysis data in Action' TYPE 'E'.
             ELSE.
               LOOP AT T_VIQMMA.
                 IF  T_VIQMMA-MNGRP IS INITIAL .
                   IF T_VIQMMA-MATXT IS INITIAL.
                     L_TAG = 'X'.
                   ENDIF.
                 ENDIF.
               ENDLOOP.
               IF L_TAG = 'X'.
                 MESSAGE 'Please fill the mandatory analysis data in Action' TYPE 'E'.
               ENDIF.
             ENDIF.
           ENDIF.
         ENDIF.
       ENDIF.
    ENDIF.
    <Added code tags>
    Thank you so much in advance..
    -Sudhish
    Please use the code tags when you're posting any code snippet
    Edited by: Suhas Saha on Jul 13, 2011 12:39 PM

    Hi, I was thinking just like XVBAP and YVBAP values in the USEREXIT_SAVE_DOCUMENT.
    Plz check u have x /y versions or tables like _old/ _new suffixes and then move the value accordingly.
    otherwise there may be inconsistency.
    Edited by: Prasenjit S. Bist on Jul 13, 2011 3:03 PM

  • What are the user exits available related to Credit Management?

    What are the user exits available related to Credit Management?
    <b>I have blocked users from releasing SO through Tciode VKM3 , now I want to block
    the same (releasing of SO through VKM4) ,I want VKM4 to be used only for releasing delivery orders. Can anyone help me in configuring the same?.</b>
    Thanx in advance,
    Regrds,
    Binayak

    Hi,
    User Exits For Credit Checks And Risk Management
    Credit Check
    If you want to carry out your own individual credit checks, that differ from those in the standard system, you must define them in the following user exits:
    LVKMPTZZ
    LVKMPFZ1: USER_CREDIT_CHECK1
    LVKMPFZ2: USER_CREDIT_CHECK2
    LVKMPFZ3: USER_CREDIT_CHECK3
    User exit for availability check
    User exit USEREXIT_AVAIL_CHECK_CREDIT exists in Include MV45AFZF.
    This user exit allows you to determine whether the system should or should not carry out an availability check after a blocked document has been released or after a new credit check.
    Risk Management for Receivables
    RVKMPUS2
    Using this user exit, you can define new forms of payment guarantee.
    Regards,
    Amrish Purohit

  • Export internal table to memory in User Exit FM

    Hi all,
    My scenario here is to export an internal table in one user exit FM and import it back in another user exit FM.
    I was trying to use
    Export lt_table to memory id 'LABEL'.
    then
    Import lt_table from memory id 'LABEL'.
    But then i hit error in the import statement. How can I rectify this?
    Thanks. Answer will be rewarded.

    Refer to the below related threads
    Export an internal table to memory and import from memory into an internal
    http://help.sap.com/saphelp_erp2005/helpdata/en/fc/eb3bf8358411d1829f0000e829fbfe/frameset.htm
    Regards,
    Santosh

  • User exit structure

    I have to add some custom fields to a structure of an user exit ... can any one suggest me what is the best way to do this??
    Thanks!

    Hi ,
    See the following steps ;
    Step by step procedure for creating Field Exits
    There are eight steps to creating a field exit:
    Step 1:  Determine Data Element
    Step 2:  Go To Field Exit Transaction
    Step 3:  Create Field Exit
    Step 4:  Create Function Module
    Step 5:  Code Function Module
    Step 6:  Activate Function Module
    Step 7:  Assign Program/Screen
    Step 8:  Activate Field Exit
    Step 1:  Determine Data Element
    -     Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
    -     An easy way to determine the data element associated to a particular screen field is to:
              Go the appropriate screen.
              Position the cursor in the appropriate field.
              Press ‘F1’ for field-level help.
              Click on the ‘Technical info’ pushbutton (or press ‘F9’) on the help dialog box.
              On this Technical Information dialog box, the data element will be specified if the field is 'painted' from the           ABAP/4 Dictionary.
    Step 2:  Go To Field Exit Transaction
    -     The transaction to create field exits is CMOD.
    -     You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
    -     From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits  menu path.
    -     After choosing this menu path, you will be taken to the field exits screen.  From here, you can create a field exit.
    NOTE :  Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
    Step 3:  Create Field Exit
    -     From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
    -      After choosing this menu path, a dialog box will prompt you for the appropriate data element .
    -     Enter the data element name and click the ‘Continue’ pushbutton.
    -     Now, you will be able to create the function module associated to the data element’s field exit.
    Step 4:  Create Function Module
    -     You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the      ‘Continue’ pushbutton.
    -     In the ‘Function module’ field, a function module name will be defaulted by the system based on the data element      specified.  This name will have the following convention:
                        FIELD_EXIT_<data element>
    -     You can add an identifier (an underscore followed by a single character ).
    -     The first function module for a data element’s field exit must be created without an identifier.
    -     To create the function module, click on the ‘Create’ pushbutton, choose menu path Function module -> Create, or      press ‘F5’.
    -     After choosing to create the function module, you will get the warning:  "Function module name is reserved for      SAP".  This message is just a warning so a developer does not accidentally create a function module in the field      exit name range.  By pressing ‘Enter’, you will be able to go ahead and create the function module.
    -     Before coding the function module, you will have to specify the function modules attributes  --  function group,      application, and short text.
    Step 5:  Code Function Module
    -     From the function module’s attributes screen, click on the ‘Source code’ pushbutton or choose the Goto ->           Function module menu path to the code of the function module.
    -     Here you will add your desired functionality for the field exit.
    -     Remember that field exit’s function module will have two parameters -- one importing parameter called "INPUT"      and one exporting parameter called "OUTPUT".  These parameters will be set up automatically by the system.
    -     You must remember to assign a value to the OUTPUT field.  Even if the value does not change, it must be moved      from the INPUT field to the OUTPUT field.
    Step 6:  Activate Function Module
    -     After coding the function module, you must remember to activate it.
    -     Use the Function module -> Activate menu path to activate the function module.
    -     At this point, you can return to the field exit transaction.
    -     You should be able to 'green arrow' back to this transaction.
    -     When you return to the field exit transaction, you will see an entry for the newly created field exit.
    -     At this point, the field exit is global.  That is, it applies to all screens that use a particular data element.  On any      screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
    -     Also, the field exit will not be triggered yet because it is inactive.
    Step 7:  Assign Program/Screen
    -     This step is only needed if you want to make a field exit local.
    -     To make a field exit local, select the field exit and click on the ‘Assign prog./screen’ pushbutton.
    -     In the dialog box , indicate the appropriate program name and screen number.
         This information indicates that the field exit is local to the specified screen in the specified program.
    -     In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier      in the ‘Fld. Exit’ field.
    -     If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
    -     If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data      element>_<identifier>'.
    Step 8:  Activate Field Exit
    -     The field exit must be active for it to be triggered by the system.
    -     Activate the field exit by choosing the Field exit -> Activate menu path.
    -     After assigning the field exit to a change request, its status will change to ‘Active’ and it will be triggered           automatically on the appropriate screen(s).
    NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
    Reward points if hhelpful.
    Regards.
    Srikanta Gope

  • User exit: save PM order

    Dear all,
    I'm looking for an user exit that will be actived during order save. However, it seems most exits just for check, I can not change any data.
    The requirement is: if user save certain order, then field function area 'CAUFVD-FUNC_AREA' is filled automatically. This fiels in the order header.
    Thanks,
    Ben

    Hi,
    Orders     
    User Exits     BBPK0001
    Description     Exit for determining the external procurement profile
    User Exits     CNEX0013
    Description     Default item category for component assignment
    User Exits     CNEX0026
    Description     Customer enhancement for general inspection of material
    User Exits     CNEX0027
    Description     Customer enhancement: Plant, storage loc. finding for comp.
    User Exits     CNEX0037
    Description     Check new component
    User Exits     COCCA002
    Description     Customer Functions for Organizational Authorization Checks (SETTLEMENT)
    User Exits     COI20001
    Description     Changing of person found
    User Exits     COI20002
    Description     Alternative procurement of HR availability data
    User Exits     COOM0001
    Description     Customer Functions for Overhead Percentages
    User Exits     COOPA_01
    Description     Customer check modules for internal orders
    User Exits     COOPA002
    Description     Customer function for master data maintenance - internal orders
    User Exits     COOPA003
    Description     User-Defined Fields in the Order Master
    User Exits     COOPA004
    Description     Customer function: Print order master data
    User Exits     COPCP005 (see: 1, )
    Description     Material Costing: User exit for material valuation (strategy U)
    User Exits     CY190001
    Description     Capacity Planning: Change order operation
    User Exits     COZF0001
    Description     Change purchase req. for externally processed operation
    User Exits     COZF0002
    Description     Change purchase req. for externally procured component
    User Exits     CYPP0001
    Description     Change sequence criteria and sequencing
    User Exits     ICSV0001
    Description     Display of geographic location data
    User Exits     ICSV0002
    Description     Automatic task determination for service notifications
    User Exits     ICSV0003
    Description     Partner selection
    User Exits     ICSV0004
    Description     Check PM object and display object information
    User Exits     ICSV0005
    Description     Determining reason for rejection - resource-related billing
    User Exits     ICSV0008
    Description     Validation of additional partner types
    User Exits     IWMI0001
    Description     User exits for SM/PM IDOCs
    User Exits     IWO10001
    Description     Create a PM sub-order
    User Exits     IWO10002
    Description     Customer check for order release
    User Exits     IWO10004
    Description     Customer check for order completion
    User Exits     IWO10005
    Description     Customer specific determination of profit centre
    User Exits     IWO10006
    Description     FCode exclusion through customer enhancement
    User Exits     IWO10007
    Description     Customer enhancement - permits in the order
    User Exits     IWO10008
    Description     Customer enhancement: Determination of tax jurisdiction code
    User Exits     IWO10009
    Description     Customer Check for 'Save' Event
    User Exits     IWO10010
    Description     Customer enhancement for determining WBS element
    User Exits     IWO10011
    Description     Customer enhancement for component selection
    User Exits     IWO10012
    Description     Priority handling on central header
    User Exits     IWO10015
    Description     F4 Help for user fields on operation
    User Exits     IWO10016
    Description     Customer enhancement to check operation user fields
    User Exits     IWO10017
    Description     Determine external order number by customer logic
    User Exits     IWO10018
    Description     User fields on order header
    User Exits     IWO10020
    Description     Automatically include task list
    User Exits     IWO10021
    Description     Automatic task list transfer when creating order from notification
    User Exits     IWO10022
    Description     Determine calendar from user exit
    User Exits     IWO10023
    Description     Service order: Change header data for advance shipment document
    User Exits     IWO10024
    Description     Service order: Changes to items for advance shipment
    User Exits     IWO10025
    Description     Finding responsible cost centre
    User Exits     IWO10026
    Description     User check on setting status 'Do not perform'
    User Exits     IWO10027
    Description     User exit: Generate user-defined settlement rule
    User Exits     IWO10029
    Description     Inclusion of bill of material in PM/SM order
    User Exits     IWO10030
    Description     Predefining the fields for the profitability segment
    User Exits     IWO10031
    Description     Hide personnel number in PM/SM order
    User Exits     IWO10033
    Description     Customer-Specific Authorization Check PM/CS Order
    User Exits     IWO10034
    Description     Operation status based on the status of capacity requirements
    User Exits     IWO20001
    Description     User exit to pass routing/task list to order
    User Exits     IWOC0003
    Description     PM/SM authorization check of ref. object and planner group
    User Exits     M06B0002
    Description     Change communication structure for purchase requisition release
    User Exits     MGA00003
    Description     Material Master (Industry and Retail): Number Display
    User Exits     PPCO0001
    Description     Application development: PP orders
    User Exits     PPCO0005
    Description     Storage location/backflushing when order is created
    User Exits     PPCO0023
    Description     Checks changes to components
    regards,
    Venkatesan Anandan

  • USER EXITS Vs CUSTOMER EXITS

    Hi all,
    can any one clearly explain me the diff between user exits & customer exits.....
    points will b rewarded .....
    Thank You.
    Regards,
    Prashanth.

    Hi Prashanth Polsani  ,
    Difference between user exits & customer exits:
    User exit - A user exit is a three character code that instructs the system to access a program during system processing.
    SXX: S is for standard exits that are delivered by SAP.   XX represents the 2-digit exit number.
    UXX: U is for user exits that are defined by the user.  XX represents the 2-digit exit number
    Customer exit - 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.    
    The following document is about exits in SAP :-
    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 user 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.
    Types of Exits 
    There are several different types of user exits. Each of these exits acts as hooks where you can attach or "hang" your own add-ons.
    Menu Exits
    Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items to call up your own screens or to trigger entire add-on applications.
    SAP creates menu exits by defining special menu items in the Menu Painter. These special entries have function codes that begin with "+" (a plus sign). You specify the menu item’s text when activating the item in an add-on project.
    Screen Exits
    Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screen’s flow logic.
    Function Module Exits 
    Function module exits add functions to R/3 applications. Function module exits play a role in both menu and screen exits. 
    When you add a new menu item to a standard pull down menu, you use a function module exit to define the actions that should take place once your menu is activated. 
    Function module exits also control the data flow between standard programs and screen exit fields. SAP application developers create function module exits by writing calls to customer functions into the source code of standard R/3 programs. 
    These calls have the following syntax: 
    CALL CUSTOMER-FUNCTION ‘001’.
    Field Exits
    Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field.  Example: The data element BBBNR identifies a company’s international location number. You might want to set up your R/3 System so that all international location numbers are larger than 100. 
    The field exit concept lets you create a special function module that contains this logic. 
    You assign the special function module to the data element BBBNR. You then assign the module to any programs and screens in which users can add new international location numbers. When you activate your field exit, the system automatically triggers your special routine whenever a user enters a company location number. 
    In 4.6c, you can use "RSMODPRF" program to create field exits.
    An example of a user exits :-
    MODULE user_exit_0001 INPUT 
        CASE okcode.
            WHEN 'BACK OR EXIT'.
                CASE sy-dynnr.
                        WHEN '100'.
                             SET SCREEN 0.
                             LEAVE SCREEN.
                        WHEN '200'.
    Note that you can write any code that satisfy your needs.                                                     ****
    But in this case, this was wrote as a sample code for reference sake.                                    ****
    And you can test it.                                                                                ****
                             SET SCREEN 100.
                             LEAVE SCREEN.
                 ENDCASE.
          ENDCASE. 
    As with customer exits two different views are available:
    In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object. 
    In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.
    USER-EXITS can be used only one time.
           Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.
    These r the following web-sites which may find helpful to u :
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    http://www.easymarketplace.de/userexit.php
    *****Pls reward points if u find this useful
    cheers,
    gyanaraj

  • Passing data from user exit to workflow.

    HI,
    Please consider the below scenario.
    In the user exit 'MV50AFZ1' I have created an include in the form 'USEREXIT_SAVE_DOCUMENT_PREPARE.'.
    In this include based on some certain conditions a workflow is triggered.
    I am using the function module 'SWE_EVENT_CREATE' to trigger the workflow.
    Now the requirement is to pass some data from this user exit ('USEREXIT_SAVE_DOCUMENT_PREPARE') into the workflow.
    Could someone please explain me how to pass this data from the user exit into the workflow ?
    Thanks in advance.
    With regards
    Abhishek

    Hello everybody,
    Thanks a lot for your responses.
    I am using the fuction module 'SAP_WAPI_CREATE_EVENT' to trigger the workflow, I am also able to pass the delivery number through the paramater 'OBJECT_KEY' of the function module in to the workflow container.
    But I am unable to pass the line item number and the material number into the workflow.
    I am following the below process:
    I have defined a stucture ZST_DELIVERY containing the POSNR and MATNR in the data dictionnary.
    I have pouplated the internal table of this structure inside my user exit.
    Then I m passing the values of the above internal table into another internal table - 'Container''which is of structure type 'SWR_CONT'.
    And I am passing the internal table 'Container' into the paramater 'INPUT_CONTAINER' of the function module 'SAP_WAPI_CREATE_EVENT'.
    And in the workflow I have created a container 'ST_DELIVERY' which is of the structure ZST_DELIVERY and I have made it 'import', 'export.'
    And in my business object ZLIKP in the custom event CheckPrice I have defined a paramater 'ST_DELIVERY' of the structure  ZST_DELIVERY and I have made it multiline.
    And in I have binded my workflow container 'ST_DELIVERY' and the ZLIKP paramater with the same name.
    Please do let me know if the above steps that I have followed is correct.
    Please do let me know if any further information is required.
    Thanks in advance,
    ~Regards
    Abhishek

Maybe you are looking for