Friday, July 27, 2007

User Exits - Simple Example

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_<3>

The call to a functionmodule exit is implemented as:
CALL CUSTOMER.-FUNCTION <3>

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 in 1 project. If the enhancement is already 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"

No comments: