2007 Jul 21 11:22 AM
Pls tell me what are User-Exits ? How they are used ? with Example
2007 Jul 21 11:27 AM
User Exits:
-
User exits allow you to add additional functions to the SAP standard.
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.
Advantage: In principle, customers can modify anything they want that is found in the include (tables, structures, and so forth).
Disadvantage: SAP cannot check the individual enhancements themselves which often leads to errors in the enhancement process.
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.
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.
Customer Exit
-
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 SAPs 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 SAPs standard software package.
They do not affect software updates
When you add new functionality to your SAP System using SAPs 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. You find find more information about locating applications with pre-defined exits in Locating Applications that have Exits
In order to find out the user exits for any tcode,
1. get the developement class of the tcode from SE93.
2. Now goto transaction SMOD and press F4,
3. give in the Deve class in the dev class and Press ENTER
this will show u the exits for any tcode.
or execute this report
http://www.erpgenie.com/sap/abap/code/abap26.htm
which gives the list of exits for a tcode
http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
For information on Exits, check these links
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sapgenie.com/abap/code/abap26.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
http://www.easymarketplace.de/userexit.php
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sappoint.com/abap/userexit.pdfUser-Exit
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
http://www.easymarketplace.de/userexit.php
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
Regards,
Santosh
2007 Jul 23 4:58 AM
R/3 provides three "customization spots" that allow you to enhance FI/CO features without modifying the standard code. Although often collectively referred to as "user exits," two of the three have different names. SAP Enhancements are used to expand the standard functionality within SAP. Enhancements use function modules and are called from the standard SAP code. Each module in the system has a set of delivered enhancements that help companies expand the standard functionality where they need it. Enhancements were new in release 3.0.
The Open FI Interfaces or Business Transaction Events are also used to expand the standard functionality within SAP. These events are defined in the IMG. Business Transaction Events were new in release 4.0. They are not available for all modules and are not called on all integrated transactions into FI as of release 4.5B. This will change with each release and should be retested.
The older User Exits in FI/CO are "Z" programs that are defined in table T80D for client-dependent user exits, and in table T80I for client-independent user exits. These are also used to expand the standard functionality within the FI/CO modules. These User Exits have been available since the early releases of SAP. All of these FI/CO User Exits are listed in this document in the Configuring User Exits (Older). The list is included because these User Exits are not a part of the Enhancements or Business Transaction Events and do not have an Info System for searching.
Benefits
Standard SAP functionality can be enhanced without modification to the standard code.
Upgrades do not erase the functionality and it does not have to be re-transported or re-entered into the system. The enhancements should be thoroughly tested when upgrading to ensure the system will still work as implemented.
Configuring SAP Enhancements
Basic Steps in Configuring an Enhancement
Find the appropriate Enhancement.
Enter the ABAP code in the "Z" program within the function module.
Create a project.
Add the Enhancement to the project.
Activate the project.
example
This example code is based on enhancement SUSR0001.This enhancement uses function exit EXIT_SAPLSUSF_001 .
Enhancement : SUSR0001 User Exit after logon to SAP system.
When the User logs in the system ,this exit is called each and every time for every user after logon to the R/3 system.
Function Exit : EXIT_SAPLSUSF_001 .
Every dialog user passes thrugh this function module after logon,It can be used to execute individual customer checks and send mesages to the user.
TABLE USR02 CONTAINS LOGON DATA and can be used in this exit to get the user logon data and take necessary actions as required by the customer requirement and even LOG_OFF (not recommended by SAP).
STEPS REQUIRED FOR IMPLEMETING THE EXIT
1) Open CMOD(Project maintenance) Transaction.Enter a project name starting with Z.Press enter.
2) Goto Enhancement window by clicking the enhancement button in the application tool bar.
3) Write SUSR0001 in the enhancement column and press enter.
4) Goto Components window(It will show al the exits included in this enhancement), in our case only one Function Exit will be shown.
5) Double click on the Function exit EXIT_SAPLSUSF_001.
The following function source code will be displayed in the function editor
FUNCTION EXIT_SAPLSUSF_001.
*"----
""Lokale Schnittstelle:
*"----
INCLUDE ZXUSRU01.
ENDFUNCTION.
6) Double click on the include ZXUSRU01 .If it will ask to create the include say yes .
7)Write the following code in the include.
DATA W_TEXT(30) TYPE C.
DATA W_DATE(10) TYPE C.
WRITE sy-datum TO W_DATE DD/MM/YYYY.
CONCATENATE ' Date is ' W_DATE INTO W_TEXT.
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = 'Welcome to Paradise !'
txt1 = 'Have A Nice Day'
txt2 = W_TEXT
TXT3 = ' '
TXT4 = ' '
8)Save the include and activate it .Activate the Project also by going to the menu in CMOD transaction.Now The user exit SUSR0001 has been implemented and is ready to use.
9) Logon to the R/3 system . A dialog box will appear with the message
Welcome to Paradise ! with date .
NOTE: BAPIs like BAPI_USER_GET_DETAIL can also be used to get user info or directly read from tables USR02 etc.
PP User Exit .
This user exit is used in PP and is for u to try
MCP20020 User exit for reading info structure when transferring reqts
it contains function exit
EXIT_SAPMMCP6_020
When planned independent requirements are transferred from SOP to
program data, the data is read at material/plant level as standard. You
can use this user exit to have a greater or smaller number of
characteristics for data selection. In this case, the data is read on a
different level than that in the standard system.
The interface of this user exit corresponds to that of function module
'MC_PG_TRANSFER_PBED', but the info structure and the key fields table
(structure IKEYF) are also transferred. YF). The characteristic
attributes of the characteristics used for data must be transferred to
the user exit in field 'Value' of the key fields table.
For further information, see function module: 'MC_PG_TRANSFER_
links
ser Exit
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sapgenie.com/abap/code/abap26.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
http://www.easymarketplace.de/userexit.php
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.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sapgenie.com/abap/code/abap26.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
http://www.easymarketplace.de/userexit.php
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sappoint.com/abap/userexit.pdfUser-Exit
http://www.sapmaterial.com/user_exit.html
Hope this helps
<b>do reward if useful....</b>
regards
dinesh
2007 Jul 23 5:00 AM
Hi,
User exits are predefined includes provided by SAP with some subroutines that start with "userexit-" you can put your code in these subroutines so that they are executed.
AND
Customer exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a function module. The code for the function module is written 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 ❤️ digit suffix>
To find a Exit.
Goto Transaction -- Find The Package
SMOD >f4>Use the Package here to Find the Exits In the Package.
Else if you Want to search by Application Area wise ,
There is one more tab to find the Exits in the Respective Application Area.
Implementing the Exit-- CMOD Create ProjectsAssgn your Component .
Now Run ur Transaction to Check if it Triggers.
Thats it..
Suppose you need to find out all the user exits related to a tcode.
1. Execute the Tcode.
2. Open the SAP program.
3. Get the Development Class.
4. Execute Tcode SE84.
5. Open the Node 'Envir. -> Exit Techniques -> 'Customer Exits -> Enhancements'
6. Enter the Development class and execute.
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sapgenie.com/abap/code/abap26.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
http://www.erpgenie.com/sap/abap/code/abap26.htm
which gives the list of exits for a tcode
http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
For information on Exits, check these links
http://www.easymarketplace.de/userexit.php
http://www.sappoint.com/abap/userexit.pdfUser-Exit
http://www.planetsap.com/userexit_main_page.htm
User-Exits
http://www.sap-img.com/ab038.htm
http://www.sap-basis-abap.com/sapab013.htm
http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
These links will help you to learn more on user exits.
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
http://www.allsaplinks.com/user_exit.html
Also please check these threads for more details about user exits.
1. Document on UserExits in FI/CO
http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
2. Finding User Exits...
http://sap.ionelburlacu.ro/abap/sap2/Other_Useful_Tips.html#Finding_User_Exits
3. List of all User Exits...
http://www.planetsap.com/userexit_main_page.htm
https://forums.sdn.sap.com/click.jspa?searchID=672084&messageID=312792
https://forums.sdn.sap.com/click.jspa?searchID=672084&messageID=1320078
https://forums.sdn.sap.com/click.jspa?searchID=672084&messageID=2669896
Regards,
Priyanka.
2007 Jul 23 5:46 AM
Hi,
Introduction
FOR EXAMPLE CHECK...
www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
SAP delivers a broad range of business functions within its R/3 application suite. The standard applications may not offer some of the functionality needed. The R/3 enhancement concept allows addition of ones own functionality to SAPs standard business 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 user exits act as hooks. One can hang his own add-on functionality onto these hooks.
The user exit is a point in a SAP program where a customers own program can be called. On upgrade, each user exit must be checked to ensure that it conforms to the standard system.
There are two types of user exit:
· User exits that use INCLUDEs.
These are customer enhancements that are called directly in the program.
· User exits that use tables.
These are used and managed using Customizing.
Purpose of the Enhancement Concept
With the ABAP/4 Development Workbench, SAPs client-server development environment, one can create add-ons or entire applications. Before the enhancement concept existed, customers who wanted to add their own specific functions to SAP software had to modify the standard SAP programs. Modifying SAPs software holds at least two dangers:
Modifying standard code can lead to errors
When a customer changes the source code of a standard program, these changes can have unwanted results within other parts of the application. Once a customer has begun reconstructing a standard program, SAP can no longer guarantee that this customers system will run without serious errors.
Modifications mean more work during software upgrades
Customers of standard software packages often want to take advantage of software upgrades or new releases. Customers who have modified the software of their current release must save these modifications and reenter them into the new software after each upgrade or release change. Depending on the number and scope of modifications, this reentry process may make it difficult or even impossible to take advantage of new software releases.
The enhancement concept offers a better alternative to the problem-ridden modification approach.
Reason for Using Exits
If you want to extend the functionality of your R/3 System, you should take advantage of the user exits available within the standard R/3 applications. There are two main reasons why you should use exits rather than modifying SAP software. Add-ons that are attached to user exits have the advantage that they:
Do not affect standard SAP source code
When you add new functionality to your R/3 System using SAPs user exits, you do not change the source code of standard SAP programs. The code and screens you create are encapsulated as separate objects. These customer objects are linked to standard applications, but they exist apart from SAPs standard software package.
Do not affect software upgrades
When you add new functions using SAPs user exits, the objects you develop are customer objects. Customer objects adhere to strict naming conventions. When the time comes to upgrade a software release, the special names of customer objects ensure that they will not be affected by either changes or additions within the standard software package. As a result, you do not need to save and then reenter add-ons attached to user exits.
User exits are not available for all programs and screens within the R/3 standard applications. One can only use exits if they already exist within the SAP R/3 System. Locating Applications that Have Exits explains how to find applications with predefined exits.
If no user exit is available in an area to add a particular functionality, a request can be made to SAP to develop an exit. This request can be made via the Online Service System (OSS).
Navigation
To take advantage of user exits they have to be added to a standard application by SAP. For this reason, it is necessary to know how to locate the exits available within the R/3 System. SAP organizes its user exits in packages that are called SAP enhancements. Each SAP enhancement can contain many individual exits.
From within the ABAP/4 Development Workbench menu choose Utilities ® Enhancements ® Project management. To call up a selection screen that lets one look for the exits available in standard applications, choose Utilities ® SAP enhancements. If no information about the name of specific enhancement packages is available, one can search for all enhancements belonging to a particular development class or to a set of development classes. To list all enhancements in the entire system, the Execute function without specifying any selection criteria is chosen.
1. Customer exits: Implemented as Function Modules within z includes. Anybody can change it and no access key is required.
2. User Exit: Implemented as subroutines within includes (any include except y or z includes). You need access for the specific include and then you can any subroutine (user exit) within that Include.
BADIs are the enhanced version of user exits where the same logic is implemented via classes and object (OOP)
Enchancement point is the latest once introduces with ECC6.0 . Not very sure about that but you can change it without any access key.
Please go through the following link which will help you understand the exits in a much better way:
http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec07a25db911d295ae0000e82de14a/content.htm
http://www.sap-img.com/abap/what-is-the-difference-between-smod-and-cmod.htm
http://sap.niraj.tripod.com/id21.html
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/frameset.htm
http://www.sap-img.com/ab038.htm
User Exits.
-
-
http://www.erpgenie.com/sap/abap/code/abap26.htm
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sapgenie.com/abap/code/abap26.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
http://www.easymarketplace.de/userexit.php
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sappoint.com/abap/userexit.pdfUser-Exit
customer exits
Menu Exit.
http://www.sappoint.com/abap/spmp.pdf
http://www.sappoint.com/abap/userexit.pdf
http://www.sapdevelopment.co.uk/enhance/mod_sapmenu.htm
http://www.sapdevelopment.co.uk/enhance/enhancehome.htm
1. Previously there were only user-exits.
2. Then came the concept of customer-exits.
3. user exits were nothing but subroutines
FORM/PERFORM
called from standard programs.
4. The FORM defintion was placed inside
an empty include file.
5. So It was called EVERYTIME.
and we need to MODIFY/REPAIR the
standard include .
6. Then it came with concept of customer-exit
7. It consists of calling a FUNCTION MODULE,
which is called only if
the user-exit is ACTIVATED (other wise not called)
In this case, the code in put inside
a pre-defined Z include.
8. Functionality of both is same, howerver
we can note the following important differences
a) Customer exit is called only if activated.
(hence, it does not waste resources)
b) in customer exit, REPAIR does not happen
to the standard include.
Exits are basically the hooks whcih SAP has provided to add your own code.
refer to the following links
http://www.sap-basis-abap.com/sapab013.htm
http://sap.ittoolbox.com/documents/popular-q-and-a/user-exits-for-the-transaction-code-migo-3283
Reward points
Regards