cancel
Showing results for 
Search instead for 
Did you mean: 

documentation for user exit

Former Member
0 Kudos

Hello Gurus,

Please provide some documentation about USER EXIT. there are some on the internet, but not clear and complete. so thanks very much !

Accepted Solutions (1)

Accepted Solutions (1)

reazuddin_md
Active Contributor
0 Kudos

Plz

browse/search in this forum for userexit-

so many thread r there on USEREXITS.

[]

Userxits allow us to add our own functionality to SAP standard program

without modifying it . These are implemented in the form of subroutines and hence are also known as FORM EXITs. The userexits are generally collected in includes and attached to the standard program by the SAP.

Types of User exits

1. Menu Exits

2.Function exits

3.Table exits

4.Screen exits

5.Keyword exits

6.Field exits.

User exits for Pricing.

1.•USEREXIT_PRICING_PREPARE_TKOMK (module pool SAPLV60A, program RV60AFZZ

2.•USEREXIT_PRICING_PREPARE_TKOMP (module pool SAPLV60A, program RV60AFZZ)

3.•USEREXIT_FIELD_MODIFICATION

4.•USEREXIT_FIELD_MODIFIC_KZWI

5.•USEREXIT_FIELD_MODIFIC_KOPF

User exits for Sales order

1•USEREXIT_DELETE_DOCUMENT

2•USEREXIT_FIELD_MODIFICATION

3.•USEREXIT_MOVE_FIELD_TO_VBAK

4.•USEREXIT_NUMBER_RANGE

5.•USEREXIT_SAVE_DOCUMENT

User exits for billing

1.•USEREXIT_ACCOUNT_PREP_KOMKCV (Module pool SAPLV60A, program RV60AFZZ)

2.•USEREXIT_ACCOUNT_PREP_KOMPCV

3•USEREXIT_NUMBER_RANGE_INV_DATE (Module pool SAPLV60A, program RV60AFZC)

4•USEREXIT_PRINT_ITEM (Module pool SAPLV61A, program RV61AFZB

5.USEREXIT_PRINT_HEAD (Modulpool SAPLV61A, Programm RV61AFZB)

Answers (2)

Answers (2)

claudia_neudeck
Active Contributor
0 Kudos

Hello,

you can find all userexits for sales and distribution in a R/3 system in the customizing.

Please have look at the following menue path:

transaction SPRO

> sales and distribution

> system modification

> user-exits

If you press the icon (the white page) the you can find the doumentation for the relevant userexits.

I hope this information will help you.

regards

Claudia

Former Member
0 Kudos

Hi,

1.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 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"

2.Finding the user-exits of a SAP transaction code

report zuserexit no standard page heading.

tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.

tables : tstct.

data : jtab like tadir occurs 0 with header line.

data : field1(30).

data : v_devclass like tadir-devclass.

parameters : p_tcode like tstc-tcode obligatory.

select single * from tstc where tcode eq p_tcode.

if sy-subrc eq 0.

select single * from tadir where pgmid = 'R3TR'

and object = 'PROG'

and obj_name = tstc-pgmna.

move : tadir-devclass to v_devclass.

if sy-subrc ne 0.

select single * from trdir where name = tstc-pgmna.

if trdir-subc eq 'F'.

select single * from tfdir where pname = tstc-pgmna.

select single * from enlfdir where funcname =

tfdir-funcname.

select single * from tadir where pgmid = 'R3TR'

and object = 'FUGR'

and obj_name eq enlfdir-area.

move : tadir-devclass to v_devclass.

endif.

endif.

select * from tadir into table jtab

where pgmid = 'R3TR'

and object = 'SMOD'

and devclass = v_devclass.

select single * from tstct where sprsl eq sy-langu and

tcode eq p_tcode.

format color col_positive intensified off.

write:/(19) 'Transaction Code - ',

20(20) p_tcode,

45(50) tstct-ttext.

skip.

if not jtab[] is initial.

write:/(95) sy-uline.

format color col_heading intensified on.

write:/1 sy-vline,

2 'Exit Name',

21 sy-vline ,

22 'Description',

95 sy-vline.

write:/(95) sy-uline.

loop at jtab.

select single * from modsapt

where sprsl = sy-langu and

name = jtab-obj_name.

format color col_normal intensified off.

write:/1 sy-vline,

2 jtab-obj_name hotspot on,

21 sy-vline ,

22 modsapt-modtext,

95 sy-vline.

endloop.

write:/(95) sy-uline.

describe table jtab.

skip.

format color col_total intensified on.

write:/ 'No of Exits:' , sy-tfill.

else.

format color col_negative intensified on.

write:/(95) 'No User Exit exists'.

endif.

else.

format color col_negative intensified on.

write:/(95) 'Transaction Code Does Not Exist'.

endif.

at line-selection.

get cursor field field1.

check field1(4) eq 'JTAB'.

set parameter id 'MON' field sy-lisel+1(10).

call transaction 'SMOD' and skip first screen.

*---End of Program

Reawrd if helpful,

Phani.