2008 Apr 09 11:29 AM
Hi all,
Can any one plz explain what is the difference between User Exits and Customer exits?
and where we can find them?
2008 Apr 09 11:35 AM
HI,
USER EXITS are FORMS and are called by SAP standard programs
using PERFORM.
CUSTOMER EXITS are FUNCTIONS so they are called using CALL
FUNCTION (or more exactly CALL CUSTOMER FUNCTION).
2.
Inside the form (user exit) you can read and change almost
any global data from host program.
Inside a function (customer exit) you can only acces your
import/export/changing/tables parameters.
3.
User exits are more flexible because you have more
information to use in your code but on the other hand , it
is very easy to manipulate erroneously global data and lead
the standard program to a dump or even to make database
inconsistent.
Customer exits are more restrictive but you are sure any
change you can make to any parameters will never lead to
inconsistency
4.
User-exit doesnât have any classification.
In customer-exit we have function-module exit , screen exit
, menu exit.
5.
User exits are Basically designed For SD module.
Costomer exits Are available for MM,SD,FI,HRâ¦..Basically
designed for all modules.
Regards,
Brown.
Hi all,
Can any one plz explain what is the difference between User Exits and Customer exits?
and where we can find them?
2008 Apr 09 11:31 AM
Hi sunny,
1. Good question !
2. Previously there were only user-exits.
3. Then came the concept of customer-exits.
4.
user exits were nothing but
subroutines
FORM/PERFORM
called from standard programs.
5. The FORM defintion was placed inside
an empty include file.
6. So It was called EVERYTIME.
and we need to MODIFY/REPAIR the
standard include .
7. Then it came with concept of customer-exit
8. 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.
*----
9. 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.
regards,
amit m.
2008 Apr 09 11:34 AM
Hi,
CUSTOMER EXITS
The enhancement concept allows you to add your own functionality to SAPs 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 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.
USER EXITS
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 ❤️ 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
Regards
Kiran
2008 Apr 09 11:35 AM
HI,
USER EXITS are FORMS and are called by SAP standard programs
using PERFORM.
CUSTOMER EXITS are FUNCTIONS so they are called using CALL
FUNCTION (or more exactly CALL CUSTOMER FUNCTION).
2.
Inside the form (user exit) you can read and change almost
any global data from host program.
Inside a function (customer exit) you can only acces your
import/export/changing/tables parameters.
3.
User exits are more flexible because you have more
information to use in your code but on the other hand , it
is very easy to manipulate erroneously global data and lead
the standard program to a dump or even to make database
inconsistent.
Customer exits are more restrictive but you are sure any
change you can make to any parameters will never lead to
inconsistency
4.
User-exit doesnât have any classification.
In customer-exit we have function-module exit , screen exit
, menu exit.
5.
User exits are Basically designed For SD module.
Costomer exits Are available for MM,SD,FI,HRâ¦..Basically
designed for all modules.
Regards,
Brown.
2008 Apr 09 11:37 AM
User-exits are empty subroutines that SAP have provided to be filled by us. we can fill them with our own source code, they are in the standard sap programs so, technically this is a modification.
user exit is any place within standard SAP, where SAP have added
a mechanism for client specific code to be executed.
USER EXITS are FORMS and are called by SAP standard programs using PERFORM.Inside the form (user exit) you can read and change almost any global data from host program.
User exits are more flexible because you have more information to use in your codebut on the other hand,it is very easy to manipulate erroneously global data and leadthe standard program to a dump or even to make database inconsistent.
check...
User Exits
Screen exits are exits that allow you to use a reserved part of the screen (A subscreen) to display or input data.
It is determined be SAP where the sub screen will be displayed.
The syntax is: CALL CUSTOMER-SUBSCREEN
The screen exit is not processed untill the corresponding subscreen has been created in an enhancement project,
and the project has been activated.
Note:
Function codes are only processed in the main screens flow logic
You are not allowed to enter a name for the subscreens command field
You are not allowed to define GUI stauses
You are not allowed to enter a value for Next screen
The global data of the program is not available for the subscreen. Data for the subscreen is provided by function modules.
These function modules belongs to the same function group as the subscreen Subscreens are edited with transaction CMOD.
When you activate a project containg subscreens, the calling screen is regenerated and the subscreen is displayed next
time you display the calling screen
The developer must create the subscreen and the corresponding PBO and PAI modules
How to identify screen exits
Look after CALL CUSTOMER-SUBSCREEN in the screenprogram of the screen you want to modify.
Use transaction CMOD menu Utillities -> SAP enhancements to search for screen exits
MENU EXITS
Menu exits allow you to add your own functionallity to menus. Menu exits are implemented by SAP, and are reserved menu
entries in the GUI interface. The developer can add his/her own text and logic for the menu.
Function codes for menu exits all start with "+"
Example
We want to create a new menu item in the Office menu. The text for the menu should be "Run ZTEST", and the menu will
run report ZTEST.
Goto transaction SE43 Area Menu Maintenance
In Area Menu Paramenter type 'S000' (S triple Zero)
Select Change and ignore all the warning screens
Expand the office menu. In the buttom of the office tree you will find a menu named "Customer function"
Double click on the text. In the pop-up screen change the text to "Run ZTEST". Note that the trsnaction code is +C01
Goto transaction SE93 and create transaction +C01 that calls report ZTEST.
Now you will se the menu displayed in the office tree. If you delete transaction +C01 again, the new menu will dissapear.
USER EXITS
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 ❤️ 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
2. How to find user exits
Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements.
Enter the exit name and press enter.
You will now come to a screen that shows the function module exits for the exit.
3. Using Project management of SAP Enhancements
We want to create a project to enahance trasnaction VA01
Go to transaction CMOD
Create a project called ZVA01
Choose the Enhancement assign radio button and press the Change button
In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an enhancement can only
be used i 1 project. If the enhancement is allready in use, and error message will be displayed
Press Save
Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
Now the function module is displayed. Double click on include ZXVVAU04 in the function module
Insert the following code into the include: E_KUNNR = '2155'.
Activate the include program. Go back to CMOD and activate the project.
Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155"
Have look at this links
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
http://www.sapgenie.com/abap/ole.htm
http://help.sap.com/saphelp_46c/helpdata/en/59/ae3f2e488f11d189490000e829fbbd/frameset.htm
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCCIOFFI/BCCIOFFI.pdf
In ABAP context , interfaces are only of two types.
1) INBOUND interfaces
2)OUTBOUND Interfaces.
INBOUND:(from external system data is fetched as flat files which is moved to SAP database tables).
in this process we get data in the form of flat files(.txt or .xlx). we will read this data from the files using FM like UPLOAD/WS_UPLOAD/GUI_UPLOAD into internal
tables. And using BDC methods or LSMW tool, we will update the database tables with this data.
OUTBOUND:(Data from SAP dtabase is retrieved adn stored as flatfiles on presentaion server or application server)
In this process we retrieve data using select statements from the database tables and will populate the internal tables. based on the requirement, we will use FM like DOWNLOAD/WS_DOWNLAOD/GUI_DOWNLOAD to write data from internal tables to flat files on th presentation server.
*the above mentioned Fm will work for files on presentaion server(local file system) . IF u want to handle files on the application server, use DATASET.
Other technologies that u mentioned like RFC, BAPI, EDI,ALE, IDOCS etc might be used as apart of interface code.
Regards
Sreeni
2008 Apr 09 11:38 AM
Hi,
1.
USER EXITS are FORMS and are called by SAP standard programs
using PERFORM.
CUSTOMER EXITS are FUNCTIONS so they are called using CALL
FUNCTION (or more exactly CALL CUSTOMER FUNCTION).
2.
Inside the form (user exit) you can read and change almost
any global data from host program.
Inside a function (customer exit) you can only acces your
import/export/changing/tables parameters.
3.
User exits are more flexible because you have more
information to use in your code but on the other hand , it
is very easy to manipulate erroneously global data and lead
the standard program to a dump or even to make database
inconsistent.
Customer exits are more restrictive but you are sure any
change you can make to any parameters will never lead to
inconsistency
4.
User-exit doesnât have any classification.
In customer-exit we have function-module exit , screen exit
, menu exit.
5.
User exits are Basically designed For SD module.
Costomer exits Are available for MM,SD,FI,HRâ¦..Basically
designed for all modules.
Reward points if useful....
Regards
AK